<!DOCTYPE html>
<html lang="en-US">
    <head>
        <title>Module::Install - metacpan.org</title>
        <link rel="preload" as="fetch" href="https://metacpan.org/account/login_status" crossorigin="anonymous" />
        <link href="https://metacpan.org/_assets/b8ccceeed47a0652049703d99326a9cea4933443.css" rel="stylesheet" type="text/css">
        <script src="https://metacpan.org/_assets/6bfedafe2d7caa915b7d84f61b45936818e3242e.js" type="text/javascript" defer></script>
        <link rel="alternate" type="application/rss+xml" title="Recent CPAN Uploads of Module-Install - MetaCPAN" href="https://metacpan.org/dist/Module-Install/releases.rss" />
        <link rel="canonical" href="./Module::Install.html" />
        <meta name="description" content="Standalone, extensible Perl module installer" />
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5">
        <link rel="shortcut icon" href="https://metacpan.org/static/icons/favicon.ico">
        <link rel="apple-touch-icon" sizes="152x152" href="https://metacpan.org/static/icons/apple-touch-icon.png">
        <link rel="search" href="https://metacpan.org/static/opensearch.xml" type="application/opensearchdescription+xml" title="MetaCPAN">
        <script>
          (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
          (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
          m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
          })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

          (function(skey, ga_id){
            ga('create', ga_id, {
              siteSpeedSampleRate : 100,
              storage             : 'none',
              clientId            : localStorage.getItem(skey)
            });
            ga(function(tracker) {
              localStorage.setItem(skey, tracker.get('clientId'));
            });
            ga('send', 'pageview');
          })('ga:clientId', 'UA-27829474-1');
        </script>
<meta name="twitter:card"        content="summary" />
<meta name="twitter:url"         content="https://metacpan.org/pod/Module::Install" />
<meta name="twitter:title"       content="Module::Install" />
<meta name="twitter:description" content="" />
<meta name="twitter:site"        content="metacpan" />
    </head>
    <body>
        <nav class="navbar navbar-default" role="navigation">
            <div class="header-logo-large hidden-xs">
              <a href="https://metacpan.org/" tabindex="0">
                <svg class="logo" aria-label="MetaCPAN">
                  <use class="logo" href="/static/images/metacpan-logo.svg#logo" />
                </svg>
              </a>
            </div>
            <div class="header-logo-icon visible-xs">
              <a href="https://metacpan.org/">
                <svg class="logo" aria-label="MetaCPAN">
                  <use class="logo" href="/static/images/metacpan-logo.svg#dots" />
                </svg>
              </a>
            </div>
            <ul class="nav navbar-nav menu-items hidden-xs hidden-sm">
              <li><a href="https://metacpan.org/about">About</a></li>
              <li><a href="https://metacpan.org/about/sponsors">Sponsor</a></li>
              <li><a href="https://grep.metacpan.org/">grep::cpan</a></li>
              <li><a href="https://metacpan.org/recent">Recent</a></li>
              <li><a href="https://metacpan.org/about/faq">FAQ</a></li>
              <li><a href="https://metacpan.org/tools">Tools</a></li>
              <li><a href="https://fastapi.metacpan.org/">API</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
                <button type="button" class="searchbar-btn visible-xs visible-sm">
                    <i class="fa fa-search button-fa-icon"></i>
                </button>
                <form action="https://metacpan.org/search" class="searchbar-form visible-md visible-lg search-form form-horizontal">
                   <input type="hidden" name="size" id="metacpan_search-size" value="20">
                  <div class="form-group">
                      <div class="search-group">
                        <i class="fa fa-search"></i>
                        <input type="text" name="q" placeholder="Search the CPAN" size="41" autocorrect="off" autocapitalize="off" spellcheck="false" id="metacpan_search-input" class="form-control" value="">
                      </div>
                  </div>
                </form>
                    <li class="icon-slidepanel visible-xs visible-sm">
                      <button data-toggle="slidepanel" data-target=".slidepanel">
                        <span class="button-fa-icon">
                          <i class="fa fa-bars slidepanel-open"></i>
                          <i class="fa fa-times slidepanel-close"></i>
                        </span>
                      </button>
                    </li>
                <form action="https://metacpan.org/account/logout" method="POST" id="metacpan-logout"></form>
                <li class="dropdown logged_in" style="display: none;">
                    <button type="button" class="dropdown-toggle" data-toggle="dropdown">
                      <i class="fa fa-user button-fa-icon logged-in-icon" aria-hidden="true"></i>
                      <i class="fas fa-chevron-down"></i>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="https://metacpan.org/account/identities">Identities</a></li>
                        <li><a href="https://metacpan.org/account/profile">Profile</a></li>
                        <li><a href="https://metacpan.org/account/favorite/list">Favorites</a></li>
                        <li>
                            <a href="./Module::Install.html#" type="button" onclick="$('#metacpan-logout').submit(); return false">
                              Logout
                            </a>
                        </li>
                    </ul>
                </li>
                <li class="dropdown logged_out" style="display: none;">
                    <button type="button" class="dropdown-toggle" data-toggle="dropdown">
                      <i class="fa fa-user button-fa-icon" aria-hidden="true"></i>
                      <i class="fas fa-chevron-down"></i>
                    </button>
                    <ul class="dropdown-menu">
                        <li>
                            <a href="https://metacpan.org/login/github">
                                <i class="fab fa-github fa-fw"></i>
                                GitHub
                            </a>
                        </li>
                        <li>
                            <a href="https://metacpan.org/login/twitter">
                                <i class="fab fa-twitter fa-fw"></i>
                                Twitter
                            </a>
                        </li>
                        <li>
                            <a href="https://metacpan.org/login/google">
                                <i class="fab fa-google fa-fw"></i>
                                Google
                            </a>
                        </li>
                    </ul>
                </li>
                <li class="dropdown logged_placeholder">
                    <button>
                      <i class="fa fa-user button-fa-icon" aria-hidden="true"></i>
                    </button>
                </li>
            </ul>
        </nav>
        <div class="page-content ">
          <!--
          <div class="top-notify-banner">
            <i class="fas fa-info-circle"></i>
          </div>
          -->
          <nav class="sidebar">
            <div class="slidepanel">
              <ul class="nav-list ">
    <li class="nav-header no-margin-top">
      <div class="ttip" data-toggle="tooltip" data-placement="bottom" title="The date that this version of Module-Install was released.">
      <span class="relatize">28 Apr 2023 08:32:10 UTC</span>
    </li>
  <li>
    Distribution: <a href="https://metacpan.org/dist/Module-Install">Module-Install</a>
  </li>
  <li>
    Module version: 1.21
  </li>
  <li>
    <a data-keyboard-shortcut="g s" href="https://metacpan.org/dist/Module-Install/source/lib/Module/Install.pm">Source</a>
    (<a href="https://metacpan.org/dist/Module-Install/source/lib/Module/Install.pm?raw=1">raw</a>)
  </li>
  <li>
    <a data-keyboard-shortcut="g p" href="https://metacpan.org/dist/Module-Install/source/lib/Module/Install.pod">Pod Source</a>
    (<a href="https://metacpan.org/dist/Module-Install/source/lib/Module/Install.pod?raw=1">raw</a>)
  </li>
  <li>
    <a data-keyboard-shortcut="g b" href="https://metacpan.org/dist/Module-Install/source/lib/Module">Browse</a>
    (<a href="https://metacpan.org/dist/Module-Install/source/lib/Module?raw=1">raw</a>)
  </li>
    <li>
      <a data-keyboard-shortcut="g c" href="https://metacpan.org/dist/Module-Install/changes">Changes</a>
    </li>
    <li>
      <a class="nopopup" href="https://metacpan.org/dist/Module-Install/contribute">How to Contribute</a>
    </li>
    <li>
        <a rel="noopener nofollow" data-keyboard-shortcut="g r" href="https://github.com/Perl-Toolchain-Gang/Module-Install">Repository</a>
    </li>
    <li>
      <a rel="noopener nofollow" data-keyboard-shortcut="g i" href="https://rt.cpan.org/Public/Dist/Display.html?Name=Module-Install">Issues</a>
      (74)
    </li>
    <li>
      <a rel="noopener nofollow" href="http://matrix.cpantesters.org/?dist=Module-Install+1.21" title="Matrix">Testers</a>
        <span title="(pass / fail / na)">(<a rel="noopener nofollow" href="https://www.cpantesters.org/distro/M/Module-Install.html?oncpan=1&amp;distmat=1&amp;version=1.21&amp;grade=2" style="color: #090">1583</a> / <a rel="noopener nofollow" href="https://www.cpantesters.org/distro/M/Module-Install.html?oncpan=1&amp;distmat=1&amp;version=1.21&amp;grade=3" style="color: #900">0</a> / <a rel="noopener nofollow" href="https://www.cpantesters.org/distro/M/Module-Install.html?oncpan=1&amp;distmat=1&amp;version=1.21&amp;grade=4">0</a>)</span>
    </li>
    <li>
      <a rel="noopener nofollow" href="http://cpants.cpanauthors.org/release/ETHER/Module-Install-1.21">Kwalitee</a>
    </li>
    <li>
      <div class="ttip" data-toggle="tooltip" data-placement="bottom" title="The # people with an indexing permission on Module-Install who have released something to CPAN in the last 2 years (i.e. the # people likely able to release critical fixes in a timely manner)">
      Bus factor: 4
      </div>
    </li>
    <li>
      <a rel="noopener nofollow" href="http://cpancover.com/latest/Module-Install-1.21/index.html">22.17% Coverage </a>
    </li>
    <li>
      License: perl_5
    </li>
    <li>
      Perl: v5.6.0
    </li>
    <li class="nav-header">Activity</li>
    <li>
<div class="activity-graph">
    <img src="https://metacpan.org/dist/Module-Install/activity.svg?res=month" />
    <div class="comment">24 month</div>
</div>
    </li>
    <li class="nav-header">Tools</li>
    <li>
      <a itemprop="downloadUrl" href="https://cpan.metacpan.org/authors/id/E/ET/ETHER/Module-Install-1.21.tar.gz">
      Download (<span itemprop="fileSize">109.52KB</span>)</a>
    </li>
    <li>
      <a href="https://explorer.metacpan.org/?url=%2Fmodule%2FETHER%2FModule-Install-1.21%2Flib%2FModule%2FInstall.pm">
        MetaCPAN Explorer
      </a>
    </li>
    <li>
      <a href="https://metacpan.org/dist/Module-Install/permissions">
        Permissions
      </a>
    </li>
    <li>
      <a href="https://metacpan.org/dist/Module-Install/releases.rss">
        Subscribe to distribution
      </a>
    </li>
    <li>
      <button class="btn btn-link" data-toggle="modal" data-target="#metacpan_install-instructions-dialog">
        Install Instructions
      </button>
    </li>
    <li>
      <form action="https://metacpan.org/search">
        <input type="hidden" name="q" value="dist:Module-Install">
        <input type="search" name="q" placeholder="Search distribution" class="form-control tool-bar-form">
        <input type="submit" style="display: none">
      </form>
    </li>
    <li>
      <form action="https://grep.metacpan.org/search">
        <input type="hidden" name="qd" value="Module-Install">
        <input type="hidden" name="source" value="metacpan">
        <input type="search" name="q" placeholder="grep distribution" class="form-control tool-bar-form">
        <input type="submit" style="display: none">
     </form>
    </li>
    <li class="version-jump">
<select onchange="document.location.href=&#39;/release/&#39;+this.value+&#39;/view/lib/Module/Install.pm&#39;" class="form-control tool-bar-form">
  <option disabled selected>Jump to version</option>
<option
  disabled
  value="ETHER/Module-Install-1.21"
>1.21
  (ETHER on 2023-04-28)</option>
<option
  
  value="ETHER/Module-Install-1.20-withdate"
>1.20-withdate
  (ETHER on 2023-04-27)</option>
<option
  
  value="BINGOS/Module-Install-1.14"
>1.14
  (BINGOS on 2014-10-25)</option>
<option
  
  value="ADAMK/Module-Install-1.06"
>1.06
  (ADAMK on 2012-03-01)</option>
<option
  
  value="ADAMK/Module-Install-1.05"
>1.05
  (ADAMK on 2012-02-27)</option>
<option
  
  value="ADAMK/Module-Install-1.04"
>1.04
  (ADAMK on 2011-10-20)</option>
<option
  
  value="ADAMK/Module-Install-1.03"
>1.03
  (ADAMK on 2011-10-19)</option>
<option
  
  value="ADAMK/Module-Install-1.02"
>1.02
  (ADAMK on 2011-09-29)</option>
<option
  
  value="ADAMK/Module-Install-1.01"
>1.01
  (ADAMK on 2011-04-27)</option>
<option
  
  value="ADAMK/Module-Install-1.00"
>1.00
  (ADAMK on 2010-06-22)</option>
<option
  
  value="ADAMK/Module-Install-0.99"
>0.99
  (ADAMK on 2010-05-31)</option>
<option
  
  value="ADAMK/Module-Install-0.98"
>0.98
  (ADAMK on 2010-05-31)</option>
<option
  
  value="ADAMK/Module-Install-0.97"
>0.97
  (ADAMK on 2010-05-09)</option>
<option
  
  value="ADAMK/Module-Install-0.96"
>0.96
  (ADAMK on 2010-05-09)</option>
<option
  
  value="ADAMK/Module-Install-0.95"
>0.95
  (ADAMK on 2010-03-10)</option>
<option
  
  value="ADAMK/Module-Install-0.94"
>0.94
  (ADAMK on 2010-02-23)</option>
<option
  
  value="ADAMK/Module-Install-0.93"
>0.93
  (ADAMK on 2010-02-06)</option>
<option
  
  value="AUDREYT/Module-Install-0.64"
>0.64
  (AUDREYT on 2006-08-23)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.61"
>0.61
  (AUTRIJUS on 2006-03-15)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.54"
>0.54
  (AUTRIJUS on 2006-01-11)</option>
<optgroup label="BackPAN">'
<option
  
  value="ETHER/Module-Install-1.20"
>1.20
  (ETHER on 2023-04-27)</option>
<option
  
  value="ETHER/Module-Install-1.19"
>1.19
  (ETHER on 2017-12-19)</option>
<option
  
  value="ETHER/Module-Install-1.18"
>1.18
  (ETHER on 2017-04-04)</option>
<option
  
  value="ETHER/Module-Install-1.17"
>1.17
  (ETHER on 2016-10-24)</option>
<option
  
  value="ETHER/Module-Install-1.16"
>1.16
  (ETHER on 2015-05-02)</option>
<option
  
  value="ETHER/Module-Install-1.15"
>1.15
  (ETHER on 2015-04-16)</option>
<option
  
  value="BINGOS/Module-Install-1.12"
>1.12
  (BINGOS on 2014-08-29)</option>
<option
  
  value="BINGOS/Module-Install-1.10"
>1.10
  (BINGOS on 2014-07-11)</option>
<option
  
  value="BINGOS/Module-Install-1.08"
>1.08
  (BINGOS on 2014-03-06)</option>
<option
  
  value="ADAMK/Module-Install-0.92"
>0.92
  (ADAMK on 2010-01-21)</option>
<option
  
  value="ADAMK/Module-Install-0.91"
>0.91
  (ADAMK on 2009-05-27)</option>
<option
  
  value="ADAMK/Module-Install-0.90"
>0.90
  (ADAMK on 2009-05-22)</option>
<option
  
  value="ADAMK/Module-Install-0.89"
>0.89
  (ADAMK on 2009-05-20)</option>
<option
  
  value="ADAMK/Module-Install-0.88"
>0.88
  (ADAMK on 2009-05-14)</option>
<option
  
  value="ADAMK/Module-Install-0.87"
>0.87
  (ADAMK on 2009-05-06)</option>
<option
  
  value="ADAMK/Module-Install-0.86"
>0.86
  (ADAMK on 2009-05-01)</option>
<option
  
  value="ADAMK/Module-Install-0.85"
>0.85
  (ADAMK on 2009-04-19)</option>
<option
  
  value="ADAMK/Module-Install-0.84"
>0.84
  (ADAMK on 2009-04-14)</option>
<option
  
  value="ADAMK/Module-Install-0.83"
>0.83
  (ADAMK on 2009-04-14)</option>
<option
  
  value="ADAMK/Module-Install-0.82"
>0.82
  (ADAMK on 2009-04-08)</option>
<option
  
  value="ADAMK/Module-Install-0.81"
>0.81
  (ADAMK on 2009-03-27)</option>
<option
  
  value="ADAMK/Module-Install-0.80"
>0.80
  (ADAMK on 2009-03-17)</option>
<option
  
  value="ADAMK/Module-Install-0.79"
>0.79
  (ADAMK on 2009-02-03)</option>
<option
  
  value="ADAMK/Module-Install-0.78"
>0.78
  (ADAMK on 2009-01-25)</option>
<option
  
  value="ADAMK/Module-Install-0.77"
>0.77
  (ADAMK on 2008-08-08)</option>
<option
  
  value="ADAMK/Module-Install-0.76"
>0.76
  (ADAMK on 2008-07-17)</option>
<option
  
  value="ADAMK/Module-Install-0.75"
>0.75
  (ADAMK on 2008-06-02)</option>
<option
  
  value="ADAMK/Module-Install-0.74"
>0.74
  (ADAMK on 2008-05-25)</option>
<option
  
  value="ADAMK/Module-Install-0.73"
>0.73
  (ADAMK on 2008-05-14)</option>
<option
  
  value="ADAMK/Module-Install-0.72"
>0.72
  (ADAMK on 2008-04-18)</option>
<option
  
  value="ADAMK/Module-Install-0.71"
>0.71
  (ADAMK on 2008-03-24)</option>
<option
  
  value="ADAMK/Module-Install-0.70"
>0.70
  (ADAMK on 2008-03-18)</option>
<option
  
  value="ADAMK/Module-Install-0.69"
>0.69
  (ADAMK on 2008-03-14)</option>
<option
  
  value="ADAMK/Module-Install-0.68"
>0.68
  (ADAMK on 2007-10-31)</option>
<option
  
  value="ADAMK/Module-Install-0.67"
>0.67
  (ADAMK on 2007-05-09)</option>
<option
  
  value="ADAMK/Module-Install-0.66_02"
>0.66_02 DEV
  (ADAMK on 2007-03-16)</option>
<option
  
  value="ADAMK/Module-Install-0.65"
>0.65
  (ADAMK on 2007-03-05)</option>
<option
  
  value="ADAMK/Module-Install-0.63"
>0.63
  (ADAMK on 2006-06-05)</option>
<option
  
  value="ADAMK/Module-Install-0.62"
>0.62
  (ADAMK on 2006-05-03)</option>
<option
  
  value="ADAMK/Module-Install-0.60"
>0.60
  (ADAMK on 2006-03-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.59"
>0.59
  (AUTRIJUS on 2006-03-06)</option>
<option
  
  value="ADAMK/Module-Install-0.58"
>0.58
  (ADAMK on 2006-03-03)</option>
<option
  
  value="ADAMK/Module-Install-0.57"
>0.57
  (ADAMK on 2006-02-23)</option>
<option
  
  value="ADAMK/Module-Install-0.56"
>0.56
  (ADAMK on 2006-02-12)</option>
<option
  
  value="ADAMK/Module-Install-0.55"
>0.55
  (ADAMK on 2006-01-27)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.53"
>0.53
  (AUTRIJUS on 2006-01-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.52"
>0.52
  (AUTRIJUS on 2006-01-03)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.51"
>0.51
  (AUTRIJUS on 2005-12-31)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.50"
>0.50
  (AUTRIJUS on 2005-12-26)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.48"
>0.48
  (AUTRIJUS on 2005-12-25)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.47"
>0.47
  (AUTRIJUS on 2005-12-25)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.46"
>0.46
  (AUTRIJUS on 2005-12-22)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.45"
>0.45
  (AUTRIJUS on 2005-12-16)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.44"
>0.44
  (AUTRIJUS on 2005-12-12)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.43"
>0.43
  (AUTRIJUS on 2005-12-12)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.42"
>0.42
  (AUTRIJUS on 2005-12-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.41"
>0.41
  (AUTRIJUS on 2005-12-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.40"
>0.40
  (AUTRIJUS on 2005-12-07)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.39"
>0.39
  (AUTRIJUS on 2005-11-14)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.38"
>0.38
  (AUTRIJUS on 2005-10-24)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.37"
>0.37
  (AUTRIJUS on 2005-08-03)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.36"
>0.36
  (AUTRIJUS on 2004-09-09)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.35"
>0.35
  (AUTRIJUS on 2004-07-13)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.34"
>0.34
  (AUTRIJUS on 2004-07-01)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.33"
>0.33
  (AUTRIJUS on 2004-03-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.32"
>0.32
  (AUTRIJUS on 2004-02-26)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.31"
>0.31
  (AUTRIJUS on 2004-01-01)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.29"
>0.29
  (AUTRIJUS on 2003-12-15)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.28"
>0.28
  (AUTRIJUS on 2003-12-12)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.27"
>0.27
  (AUTRIJUS on 2003-10-28)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.25"
>0.25
  (AUTRIJUS on 2003-10-13)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.24"
>0.24
  (AUTRIJUS on 2003-09-01)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.23"
>0.23
  (AUTRIJUS on 2003-08-18)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.22"
>0.22
  (AUTRIJUS on 2003-07-16)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.21"
>0.21
  (AUTRIJUS on 2003-06-16)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.20"
>0.20
  (AUTRIJUS on 2003-06-05)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_99"
>0.19_99 DEV
  (AUTRIJUS on 2003-05-20)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_98"
>0.19_98 DEV
  (AUTRIJUS on 2003-05-14)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_97"
>0.19_97 DEV
  (AUTRIJUS on 2003-05-08)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_96"
>0.19_96 DEV
  (AUTRIJUS on 2003-05-07)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_95"
>0.19_95 DEV
  (AUTRIJUS on 2003-03-27)</option>
</optgroup>
</select>
    </li>
    <li class="version-diff">
<select onchange="document.location.href='/release/ETHER/Module-Install-1.21/diff/' + encodeURIComponent(this.value) + '/lib/Module/Install.pm'
" class="form-control tool-bar-form">
  <option disabled selected>Diff with version</option>
<option
  disabled
  value="ETHER/Module-Install-1.21"
>1.21
  (ETHER on 2023-04-28)</option>
<option
  
  value="ETHER/Module-Install-1.20-withdate"
>1.20-withdate
  (ETHER on 2023-04-27)</option>
<option
  
  value="BINGOS/Module-Install-1.14"
>1.14
  (BINGOS on 2014-10-25)</option>
<option
  
  value="ADAMK/Module-Install-1.06"
>1.06
  (ADAMK on 2012-03-01)</option>
<option
  
  value="ADAMK/Module-Install-1.05"
>1.05
  (ADAMK on 2012-02-27)</option>
<option
  
  value="ADAMK/Module-Install-1.04"
>1.04
  (ADAMK on 2011-10-20)</option>
<option
  
  value="ADAMK/Module-Install-1.03"
>1.03
  (ADAMK on 2011-10-19)</option>
<option
  
  value="ADAMK/Module-Install-1.02"
>1.02
  (ADAMK on 2011-09-29)</option>
<option
  
  value="ADAMK/Module-Install-1.01"
>1.01
  (ADAMK on 2011-04-27)</option>
<option
  
  value="ADAMK/Module-Install-1.00"
>1.00
  (ADAMK on 2010-06-22)</option>
<option
  
  value="ADAMK/Module-Install-0.99"
>0.99
  (ADAMK on 2010-05-31)</option>
<option
  
  value="ADAMK/Module-Install-0.98"
>0.98
  (ADAMK on 2010-05-31)</option>
<option
  
  value="ADAMK/Module-Install-0.97"
>0.97
  (ADAMK on 2010-05-09)</option>
<option
  
  value="ADAMK/Module-Install-0.96"
>0.96
  (ADAMK on 2010-05-09)</option>
<option
  
  value="ADAMK/Module-Install-0.95"
>0.95
  (ADAMK on 2010-03-10)</option>
<option
  
  value="ADAMK/Module-Install-0.94"
>0.94
  (ADAMK on 2010-02-23)</option>
<option
  
  value="ADAMK/Module-Install-0.93"
>0.93
  (ADAMK on 2010-02-06)</option>
<option
  
  value="AUDREYT/Module-Install-0.64"
>0.64
  (AUDREYT on 2006-08-23)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.61"
>0.61
  (AUTRIJUS on 2006-03-15)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.54"
>0.54
  (AUTRIJUS on 2006-01-11)</option>
<optgroup label="BackPAN">'
<option
  
  value="ETHER/Module-Install-1.20"
>1.20
  (ETHER on 2023-04-27)</option>
<option
  
  value="ETHER/Module-Install-1.19"
>1.19
  (ETHER on 2017-12-19)</option>
<option
  
  value="ETHER/Module-Install-1.18"
>1.18
  (ETHER on 2017-04-04)</option>
<option
  
  value="ETHER/Module-Install-1.17"
>1.17
  (ETHER on 2016-10-24)</option>
<option
  
  value="ETHER/Module-Install-1.16"
>1.16
  (ETHER on 2015-05-02)</option>
<option
  
  value="ETHER/Module-Install-1.15"
>1.15
  (ETHER on 2015-04-16)</option>
<option
  
  value="BINGOS/Module-Install-1.12"
>1.12
  (BINGOS on 2014-08-29)</option>
<option
  
  value="BINGOS/Module-Install-1.10"
>1.10
  (BINGOS on 2014-07-11)</option>
<option
  
  value="BINGOS/Module-Install-1.08"
>1.08
  (BINGOS on 2014-03-06)</option>
<option
  
  value="ADAMK/Module-Install-0.92"
>0.92
  (ADAMK on 2010-01-21)</option>
<option
  
  value="ADAMK/Module-Install-0.91"
>0.91
  (ADAMK on 2009-05-27)</option>
<option
  
  value="ADAMK/Module-Install-0.90"
>0.90
  (ADAMK on 2009-05-22)</option>
<option
  
  value="ADAMK/Module-Install-0.89"
>0.89
  (ADAMK on 2009-05-20)</option>
<option
  
  value="ADAMK/Module-Install-0.88"
>0.88
  (ADAMK on 2009-05-14)</option>
<option
  
  value="ADAMK/Module-Install-0.87"
>0.87
  (ADAMK on 2009-05-06)</option>
<option
  
  value="ADAMK/Module-Install-0.86"
>0.86
  (ADAMK on 2009-05-01)</option>
<option
  
  value="ADAMK/Module-Install-0.85"
>0.85
  (ADAMK on 2009-04-19)</option>
<option
  
  value="ADAMK/Module-Install-0.84"
>0.84
  (ADAMK on 2009-04-14)</option>
<option
  
  value="ADAMK/Module-Install-0.83"
>0.83
  (ADAMK on 2009-04-14)</option>
<option
  
  value="ADAMK/Module-Install-0.82"
>0.82
  (ADAMK on 2009-04-08)</option>
<option
  
  value="ADAMK/Module-Install-0.81"
>0.81
  (ADAMK on 2009-03-27)</option>
<option
  
  value="ADAMK/Module-Install-0.80"
>0.80
  (ADAMK on 2009-03-17)</option>
<option
  
  value="ADAMK/Module-Install-0.79"
>0.79
  (ADAMK on 2009-02-03)</option>
<option
  
  value="ADAMK/Module-Install-0.78"
>0.78
  (ADAMK on 2009-01-25)</option>
<option
  
  value="ADAMK/Module-Install-0.77"
>0.77
  (ADAMK on 2008-08-08)</option>
<option
  
  value="ADAMK/Module-Install-0.76"
>0.76
  (ADAMK on 2008-07-17)</option>
<option
  
  value="ADAMK/Module-Install-0.75"
>0.75
  (ADAMK on 2008-06-02)</option>
<option
  
  value="ADAMK/Module-Install-0.74"
>0.74
  (ADAMK on 2008-05-25)</option>
<option
  
  value="ADAMK/Module-Install-0.73"
>0.73
  (ADAMK on 2008-05-14)</option>
<option
  
  value="ADAMK/Module-Install-0.72"
>0.72
  (ADAMK on 2008-04-18)</option>
<option
  
  value="ADAMK/Module-Install-0.71"
>0.71
  (ADAMK on 2008-03-24)</option>
<option
  
  value="ADAMK/Module-Install-0.70"
>0.70
  (ADAMK on 2008-03-18)</option>
<option
  
  value="ADAMK/Module-Install-0.69"
>0.69
  (ADAMK on 2008-03-14)</option>
<option
  
  value="ADAMK/Module-Install-0.68"
>0.68
  (ADAMK on 2007-10-31)</option>
<option
  
  value="ADAMK/Module-Install-0.67"
>0.67
  (ADAMK on 2007-05-09)</option>
<option
  
  value="ADAMK/Module-Install-0.66_02"
>0.66_02 DEV
  (ADAMK on 2007-03-16)</option>
<option
  
  value="ADAMK/Module-Install-0.65"
>0.65
  (ADAMK on 2007-03-05)</option>
<option
  
  value="ADAMK/Module-Install-0.63"
>0.63
  (ADAMK on 2006-06-05)</option>
<option
  
  value="ADAMK/Module-Install-0.62"
>0.62
  (ADAMK on 2006-05-03)</option>
<option
  
  value="ADAMK/Module-Install-0.60"
>0.60
  (ADAMK on 2006-03-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.59"
>0.59
  (AUTRIJUS on 2006-03-06)</option>
<option
  
  value="ADAMK/Module-Install-0.58"
>0.58
  (ADAMK on 2006-03-03)</option>
<option
  
  value="ADAMK/Module-Install-0.57"
>0.57
  (ADAMK on 2006-02-23)</option>
<option
  
  value="ADAMK/Module-Install-0.56"
>0.56
  (ADAMK on 2006-02-12)</option>
<option
  
  value="ADAMK/Module-Install-0.55"
>0.55
  (ADAMK on 2006-01-27)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.53"
>0.53
  (AUTRIJUS on 2006-01-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.52"
>0.52
  (AUTRIJUS on 2006-01-03)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.51"
>0.51
  (AUTRIJUS on 2005-12-31)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.50"
>0.50
  (AUTRIJUS on 2005-12-26)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.48"
>0.48
  (AUTRIJUS on 2005-12-25)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.47"
>0.47
  (AUTRIJUS on 2005-12-25)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.46"
>0.46
  (AUTRIJUS on 2005-12-22)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.45"
>0.45
  (AUTRIJUS on 2005-12-16)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.44"
>0.44
  (AUTRIJUS on 2005-12-12)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.43"
>0.43
  (AUTRIJUS on 2005-12-12)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.42"
>0.42
  (AUTRIJUS on 2005-12-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.41"
>0.41
  (AUTRIJUS on 2005-12-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.40"
>0.40
  (AUTRIJUS on 2005-12-07)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.39"
>0.39
  (AUTRIJUS on 2005-11-14)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.38"
>0.38
  (AUTRIJUS on 2005-10-24)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.37"
>0.37
  (AUTRIJUS on 2005-08-03)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.36"
>0.36
  (AUTRIJUS on 2004-09-09)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.35"
>0.35
  (AUTRIJUS on 2004-07-13)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.34"
>0.34
  (AUTRIJUS on 2004-07-01)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.33"
>0.33
  (AUTRIJUS on 2004-03-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.32"
>0.32
  (AUTRIJUS on 2004-02-26)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.31"
>0.31
  (AUTRIJUS on 2004-01-01)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.29"
>0.29
  (AUTRIJUS on 2003-12-15)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.28"
>0.28
  (AUTRIJUS on 2003-12-12)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.27"
>0.27
  (AUTRIJUS on 2003-10-28)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.25"
>0.25
  (AUTRIJUS on 2003-10-13)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.24"
>0.24
  (AUTRIJUS on 2003-09-01)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.23"
>0.23
  (AUTRIJUS on 2003-08-18)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.22"
>0.22
  (AUTRIJUS on 2003-07-16)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.21"
>0.21
  (AUTRIJUS on 2003-06-16)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.20"
>0.20
  (AUTRIJUS on 2003-06-05)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_99"
>0.19_99 DEV
  (AUTRIJUS on 2003-05-20)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_98"
>0.19_98 DEV
  (AUTRIJUS on 2003-05-14)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_97"
>0.19_97 DEV
  (AUTRIJUS on 2003-05-08)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_96"
>0.19_96 DEV
  (AUTRIJUS on 2003-05-07)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_95"
>0.19_95 DEV
  (AUTRIJUS on 2003-03-27)</option>
</optgroup>
</select>
    </li>

    <li>
<ul class="dependencies">
  <li class="nav-header">Dependencies</li>
  <li><a href="https://metacpan.org/pod/Devel::PPPort" title="Devel::PPPort" class="ellipsis">Devel::PPPort</a></li>
  <li><a href="https://metacpan.org/pod/ExtUtils::Install" title="ExtUtils::Install" class="ellipsis">ExtUtils::Install</a></li>
  <li><a href="https://metacpan.org/pod/ExtUtils::MakeMaker" title="ExtUtils::MakeMaker" class="ellipsis">ExtUtils::MakeMaker</a></li>
  <li><a href="https://metacpan.org/pod/ExtUtils::ParseXS" title="ExtUtils::ParseXS" class="ellipsis">ExtUtils::ParseXS</a></li>
  <li><a href="https://metacpan.org/pod/File::Path" title="File::Path" class="ellipsis">File::Path</a></li>
  <li><a href="./File::Remove.html" title="File::Remove" class="ellipsis">File::Remove</a></li>
  <li><a href="https://metacpan.org/pod/File::Spec" title="File::Spec" class="ellipsis">File::Spec</a></li>
  <li><a href="./Module::Build.html" title="Module::Build" class="ellipsis">Module::Build</a></li>
  <li><a href="https://metacpan.org/pod/Module::CoreList" title="Module::CoreList" class="ellipsis">Module::CoreList</a></li>
  <li><a href="https://metacpan.org/pod/Module::ScanDeps" title="Module::ScanDeps" class="ellipsis">Module::ScanDeps</a></li>
  <li><a href="https://metacpan.org/pod/Parse::CPAN::Meta" title="Parse::CPAN::Meta" class="ellipsis">Parse::CPAN::Meta</a></li>
  <li><a href="./YAML::Tiny.html" title="YAML::Tiny" class="ellipsis">YAML::Tiny</a></li>
  <li>
    <hr>
  </li>
  <li>
    <a href="https://metacpan.org/module/Module::Install/requires">Reverse dependencies</a>
  </li>
  <li>
    <a href="http://deps.cpantesters.org/?module=Module%3A%3AInstall">CPAN Testers List</a>
  </li>
  <li>
    <a href="https://cpandeps.grinnz.com/?dist=Module-Install">Dependency graph</a>
  </li>
</ul>
    </li>
    <li class="nav-header">Permalinks</li>
    <li>
      <a href="https://metacpan.org/release/ETHER/Module-Install-1.21/view/lib/Module/Install.pm">This version</a>
    </li>
    <li>
      <a href="./Module::Install.html">Latest version</a>
    </li>
    <li>
<div class="plussers">
<div class="nav-header">++ed by:</div>
<div>
<a class="display-all" href="https://metacpan.org/author/AZAWAWI"><img src="https://www.gravatar.com/avatar/70ebafdecf974e15bcaba4cbe39efef1?d=identicon&amp;s=20" title="AZAWAWI" alt="AZAWAWI"></a>
<a class="display-all" href="https://metacpan.org/author/YKO"><img src="https://www.gravatar.com/avatar/4b654add54869b69f25dcea9bc68cb3d?d=identicon&amp;s=20" title="YKO" alt="YKO"></a>
<a class="display-all" href="https://metacpan.org/author/MISHIN"><img src="https://www.gravatar.com/avatar/7aefe037fc617ef89780ad89de3deb87?d=identicon&amp;s=20" title="MISHIN" alt="MISHIN"></a>
<a class="display-all" href="https://metacpan.org/author/RRWO"><img src="https://www.gravatar.com/avatar/4a5274bc5d690ee3d619f044778771a7?d=identicon&amp;s=20" title="RRWO" alt="RRWO"></a>
<a class="display-all" href="https://metacpan.org/author/KEEDI"><img src="https://www.gravatar.com/avatar/95f905a7a4ccc573c711e9d264c0fde8?d=identicon&amp;s=20" title="KEEDI" alt="KEEDI"></a>
</div>
<!-- Display counts of plussers-->
<div>
    <a href="https://metacpan.org/dist/Module-Install/plussers">11 PAUSE users</a>
</div>
<div>
    8 non-PAUSE users
</div>
</div>
    </li>
    <li>
<div id="metacpan_contributors">
  <div>
    <button class="btn-link"
      onclick="$(this).hide(); $('#metacpan_contributors ul').slideDown(); return false;"
    >and 35 contributors</button>
  </div>
  <ul style="display: none">
    <li class="contributor"
      data-cpan-author="ADAMK"
      data-contrib-email="adamk@cpan.org adam@ali.as"
    >
      <a href="https://metacpan.org/author/ADAMK" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/884124d0169f41668fb3f948b2ba8b0a?d=identicon&amp;s=20" />
      Adam Kennedy
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="ISHIGAKI"
      data-contrib-email="ishigaki@cpan.org"
    >
      <a href="https://metacpan.org/author/ISHIGAKI" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/a1035a2db5b72227a14e84d65117b75b?d=identicon&amp;s=20" />
      Kenichi Ishigaki
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="CHORNY"
      data-contrib-email="alexchorny@gmail.com"
    >
      <a href="https://metacpan.org/author/CHORNY" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/9982a6d902348d1982dd60235724e63c?d=identicon&amp;s=20" />
      Alexandr Ciornii
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="BINGOS"
      data-contrib-email="chris@bingosnet.co.uk"
    >
      <a href="https://metacpan.org/author/BINGOS" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/cb1574e2e83978e99c46190960a2da77?d=identicon&amp;s=20" />
      Chris &#39;BinGOs&#39; Williams
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="PJF"
      data-contrib-email="pjf@perltraining.com.au"
    >
      <a href="https://metacpan.org/author/PJF" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/c796116002768900a951a1b08a35d513?d=identicon&amp;s=20" />
      Paul Fenwick
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="BOWTIE"
      data-contrib-email="bowtie@cpan.org"
    >
      <a href="https://metacpan.org/author/BOWTIE" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/9f27e15605c9a2d35a4f307a0bbf5dbf?d=identicon&amp;s=20" />
      bowtie
      </a>
    </li>
    <li class="contributor"
      data-contrib-email="dbix-class@trout.me.uk"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Matt S Trout
    </li>
    <li class="contributor"
      data-contrib-email="grinnz@grinnz.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Dan Book
    </li>
    <li class="contributor"
      data-cpan-author="AMBS"
      data-contrib-email="ambs@cpan.org"
    >
      <a href="https://metacpan.org/author/AMBS" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/f647420229636bb7c7e65f659b8d2b21?d=identicon&amp;s=20" />
      Alberto Simoes
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="MITHALDU"
      data-contrib-email="walde.christian@googlemail.com"
    >
      <a href="https://metacpan.org/author/MITHALDU" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d9c28af939032ab0c30fd7be8fdc1040?d=identicon&amp;s=20" />
      Christian Walde
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="RJBS"
      data-contrib-email="rjbs@cpan.org"
    >
      <a href="https://metacpan.org/author/RJBS" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/cec6b9b88295ead26c65f8747a76561b?d=identicon&amp;s=20" />
      Ricardo Signes
      </a>
    </li>
    <li class="contributor"
      data-contrib-email="ingy@ingy.net"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Ingy
    </li>
    <li class="contributor"
      data-cpan-author="HDP"
      data-contrib-email="hdp@cpan.org"
    >
      <a href="https://metacpan.org/author/HDP" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/e68f859ac5a6ab80d2b1cc1fd48ba5e7?d=identicon&amp;s=20" />
      Hans Dieter Pearcey
      </a>
    </li>
    <li class="contributor"
      data-contrib-email="avarab@gmail.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Avar Arnfjord Bjarmason
    </li>
    <li class="contributor"
      data-cpan-author="CSJEWELL"
      data-contrib-email="csjewell@cpan.org"
    >
      <a href="https://metacpan.org/author/CSJEWELL" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/29f33300c0580e1614207f0621eb3d5f?d=identicon&amp;s=20" />
      Curtis Jewell
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="HAARG"
      data-contrib-email="haarg@haarg.org"
    >
      <a href="https://metacpan.org/author/HAARG" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/5037faf9ba40cf736778820fe83fc2ae?d=identicon&amp;s=20" />
      Graham Knop
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="DOLMEN"
      data-contrib-email="dolmen@cpan.org"
    >
      <a href="https://metacpan.org/author/DOLMEN" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/70d9b050bfe39350c234d710fadfcd39?d=identicon&amp;s=20" />
      Olivier Mengue
      </a>
    </li>
    <li class="contributor"
      data-contrib-email="rkitover@gmail.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Rafael Kitover
    </li>
    <li class="contributor"
      data-cpan-author="GREGOA"
      data-contrib-email="gregoa@debian.org"
    >
      <a href="https://metacpan.org/author/GREGOA" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/756491c77ea95fb4592984cfd984816e?d=identicon&amp;s=20" />
      gregor herrmann
      </a>
    </li>
    <li class="contributor"
      data-contrib-email="github@chmrr.net"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Alex Vandiver
    </li>
    <li class="contributor"
      data-contrib-email="ash_github@firemirror.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Ash Berlin
    </li>
    <li class="contributor"
      data-contrib-email="craigberry@mac.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Craig A. Berry
    </li>
    <li class="contributor"
      data-contrib-email="dbrook@venda.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Dan Brook
    </li>
    <li class="contributor"
      data-cpan-author="DAGOLDEN"
      data-contrib-email="dagolden@cpan.org"
    >
      <a href="https://metacpan.org/author/DAGOLDEN" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/bb755c989fcb9897f28a2c6e00df61e2?d=identicon&amp;s=20" />
      David Golden
      </a>
    </li>
    <li class="contributor"
      data-contrib-email="szabgab@gmail.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Gabor Szabo
    </li>
    <li class="contributor"
      data-cpan-author="PLICEASE"
      data-contrib-email="plicease@cpan.org"
    >
      <a href="https://metacpan.org/author/PLICEASE" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/0640fb1c0a5e82f5a777f2306efcac77?d=identicon&amp;s=20" />
      Graham Ollis
      </a>
    </li>
    <li class="contributor"
      data-contrib-email="twists@gmail.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Joshua ben Jore
    </li>
    <li class="contributor"
      data-cpan-author="GUGOD"
      data-contrib-email="gugod@gugod.org"
    >
      <a href="https://metacpan.org/author/GUGOD" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/ae74261cb1cdcc52eb0d2b1cbaf06e25?d=identicon&amp;s=20" />
      Kang-min Liu
      </a>
    </li>
    <li class="contributor"
      data-contrib-email="kentfredric@gmail.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Kent Fredric
    </li>
    <li class="contributor"
      data-contrib-email="leo@cuckoo.org"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Leo Lapworth
    </li>
    <li class="contributor"
      data-contrib-email="hanekomu@gmail.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Marcel Grunauer
    </li>
    <li class="contributor"
      data-cpan-author="RIBASUSHI"
      data-contrib-email="ribasushi@cpan.org"
    >
      <a href="https://metacpan.org/author/RIBASUSHI" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/6a096fdb29481fa7326735fada56c5cf?d=identicon&amp;s=20" />
      Peter Rabbitson
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="TSIBLEY"
      data-contrib-email="tsibley@cpan.org"
    >
      <a href="https://metacpan.org/author/TSIBLEY" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/a09cbdbd4c85618a83795f01f7d217af?d=identicon&amp;s=20" />
      Thomas Sibley
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="TOKUHIROM"
      data-contrib-email="tokuhirom@cpan.org"
    >
      <a href="https://metacpan.org/author/TOKUHIROM" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/70f90c6a0bcd84348b02309babc98684?d=identicon&amp;s=20" />
      Tokuhiro Matsuno
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="WYANT"
      data-contrib-email="wyant@cpan.org"
    >
      <a href="https://metacpan.org/author/WYANT" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/6930f8f8cf37e65ea95078667ded31c4?d=identicon&amp;s=20" />
      Tom Wyant
      </a>
    </li>
  </ul>
</div>
    </li>
              </ul>
            </div>
          </nav>
          <div class="content-navigation">
<div class="breadcrumbs">
  <span>
    <a data-keyboard-shortcut="g a" rel="author" href="https://metacpan.org/author/ETHER" class="author-name">Karen Etheridge 🐾 🌋🦑🇹🇼🇭🇰🇺🇦</a>
  </span>
  <span>&nbsp;/&nbsp;</span>
  <div class="release dist-release status-latest maturity-released">
    <span class="dropdown"><b class="caret"></b></span>
<select onchange="document.location.href=&#39;/release/&#39;+this.value+&#39;/view/lib/Module/Install.pm&#39;" class="">
<option
  selected
  value="ETHER/Module-Install-1.21"
>1.21
  (ETHER on 2023-04-28)</option>
<option
  
  value="ETHER/Module-Install-1.20-withdate"
>1.20-withdate
  (ETHER on 2023-04-27)</option>
<option
  
  value="BINGOS/Module-Install-1.14"
>1.14
  (BINGOS on 2014-10-25)</option>
<option
  
  value="ADAMK/Module-Install-1.06"
>1.06
  (ADAMK on 2012-03-01)</option>
<option
  
  value="ADAMK/Module-Install-1.05"
>1.05
  (ADAMK on 2012-02-27)</option>
<option
  
  value="ADAMK/Module-Install-1.04"
>1.04
  (ADAMK on 2011-10-20)</option>
<option
  
  value="ADAMK/Module-Install-1.03"
>1.03
  (ADAMK on 2011-10-19)</option>
<option
  
  value="ADAMK/Module-Install-1.02"
>1.02
  (ADAMK on 2011-09-29)</option>
<option
  
  value="ADAMK/Module-Install-1.01"
>1.01
  (ADAMK on 2011-04-27)</option>
<option
  
  value="ADAMK/Module-Install-1.00"
>1.00
  (ADAMK on 2010-06-22)</option>
<option
  
  value="ADAMK/Module-Install-0.99"
>0.99
  (ADAMK on 2010-05-31)</option>
<option
  
  value="ADAMK/Module-Install-0.98"
>0.98
  (ADAMK on 2010-05-31)</option>
<option
  
  value="ADAMK/Module-Install-0.97"
>0.97
  (ADAMK on 2010-05-09)</option>
<option
  
  value="ADAMK/Module-Install-0.96"
>0.96
  (ADAMK on 2010-05-09)</option>
<option
  
  value="ADAMK/Module-Install-0.95"
>0.95
  (ADAMK on 2010-03-10)</option>
<option
  
  value="ADAMK/Module-Install-0.94"
>0.94
  (ADAMK on 2010-02-23)</option>
<option
  
  value="ADAMK/Module-Install-0.93"
>0.93
  (ADAMK on 2010-02-06)</option>
<option
  
  value="AUDREYT/Module-Install-0.64"
>0.64
  (AUDREYT on 2006-08-23)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.61"
>0.61
  (AUTRIJUS on 2006-03-15)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.54"
>0.54
  (AUTRIJUS on 2006-01-11)</option>
<optgroup label="BackPAN">'
<option
  
  value="ETHER/Module-Install-1.20"
>1.20
  (ETHER on 2023-04-27)</option>
<option
  
  value="ETHER/Module-Install-1.19"
>1.19
  (ETHER on 2017-12-19)</option>
<option
  
  value="ETHER/Module-Install-1.18"
>1.18
  (ETHER on 2017-04-04)</option>
<option
  
  value="ETHER/Module-Install-1.17"
>1.17
  (ETHER on 2016-10-24)</option>
<option
  
  value="ETHER/Module-Install-1.16"
>1.16
  (ETHER on 2015-05-02)</option>
<option
  
  value="ETHER/Module-Install-1.15"
>1.15
  (ETHER on 2015-04-16)</option>
<option
  
  value="BINGOS/Module-Install-1.12"
>1.12
  (BINGOS on 2014-08-29)</option>
<option
  
  value="BINGOS/Module-Install-1.10"
>1.10
  (BINGOS on 2014-07-11)</option>
<option
  
  value="BINGOS/Module-Install-1.08"
>1.08
  (BINGOS on 2014-03-06)</option>
<option
  
  value="ADAMK/Module-Install-0.92"
>0.92
  (ADAMK on 2010-01-21)</option>
<option
  
  value="ADAMK/Module-Install-0.91"
>0.91
  (ADAMK on 2009-05-27)</option>
<option
  
  value="ADAMK/Module-Install-0.90"
>0.90
  (ADAMK on 2009-05-22)</option>
<option
  
  value="ADAMK/Module-Install-0.89"
>0.89
  (ADAMK on 2009-05-20)</option>
<option
  
  value="ADAMK/Module-Install-0.88"
>0.88
  (ADAMK on 2009-05-14)</option>
<option
  
  value="ADAMK/Module-Install-0.87"
>0.87
  (ADAMK on 2009-05-06)</option>
<option
  
  value="ADAMK/Module-Install-0.86"
>0.86
  (ADAMK on 2009-05-01)</option>
<option
  
  value="ADAMK/Module-Install-0.85"
>0.85
  (ADAMK on 2009-04-19)</option>
<option
  
  value="ADAMK/Module-Install-0.84"
>0.84
  (ADAMK on 2009-04-14)</option>
<option
  
  value="ADAMK/Module-Install-0.83"
>0.83
  (ADAMK on 2009-04-14)</option>
<option
  
  value="ADAMK/Module-Install-0.82"
>0.82
  (ADAMK on 2009-04-08)</option>
<option
  
  value="ADAMK/Module-Install-0.81"
>0.81
  (ADAMK on 2009-03-27)</option>
<option
  
  value="ADAMK/Module-Install-0.80"
>0.80
  (ADAMK on 2009-03-17)</option>
<option
  
  value="ADAMK/Module-Install-0.79"
>0.79
  (ADAMK on 2009-02-03)</option>
<option
  
  value="ADAMK/Module-Install-0.78"
>0.78
  (ADAMK on 2009-01-25)</option>
<option
  
  value="ADAMK/Module-Install-0.77"
>0.77
  (ADAMK on 2008-08-08)</option>
<option
  
  value="ADAMK/Module-Install-0.76"
>0.76
  (ADAMK on 2008-07-17)</option>
<option
  
  value="ADAMK/Module-Install-0.75"
>0.75
  (ADAMK on 2008-06-02)</option>
<option
  
  value="ADAMK/Module-Install-0.74"
>0.74
  (ADAMK on 2008-05-25)</option>
<option
  
  value="ADAMK/Module-Install-0.73"
>0.73
  (ADAMK on 2008-05-14)</option>
<option
  
  value="ADAMK/Module-Install-0.72"
>0.72
  (ADAMK on 2008-04-18)</option>
<option
  
  value="ADAMK/Module-Install-0.71"
>0.71
  (ADAMK on 2008-03-24)</option>
<option
  
  value="ADAMK/Module-Install-0.70"
>0.70
  (ADAMK on 2008-03-18)</option>
<option
  
  value="ADAMK/Module-Install-0.69"
>0.69
  (ADAMK on 2008-03-14)</option>
<option
  
  value="ADAMK/Module-Install-0.68"
>0.68
  (ADAMK on 2007-10-31)</option>
<option
  
  value="ADAMK/Module-Install-0.67"
>0.67
  (ADAMK on 2007-05-09)</option>
<option
  
  value="ADAMK/Module-Install-0.66_02"
>0.66_02 DEV
  (ADAMK on 2007-03-16)</option>
<option
  
  value="ADAMK/Module-Install-0.65"
>0.65
  (ADAMK on 2007-03-05)</option>
<option
  
  value="ADAMK/Module-Install-0.63"
>0.63
  (ADAMK on 2006-06-05)</option>
<option
  
  value="ADAMK/Module-Install-0.62"
>0.62
  (ADAMK on 2006-05-03)</option>
<option
  
  value="ADAMK/Module-Install-0.60"
>0.60
  (ADAMK on 2006-03-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.59"
>0.59
  (AUTRIJUS on 2006-03-06)</option>
<option
  
  value="ADAMK/Module-Install-0.58"
>0.58
  (ADAMK on 2006-03-03)</option>
<option
  
  value="ADAMK/Module-Install-0.57"
>0.57
  (ADAMK on 2006-02-23)</option>
<option
  
  value="ADAMK/Module-Install-0.56"
>0.56
  (ADAMK on 2006-02-12)</option>
<option
  
  value="ADAMK/Module-Install-0.55"
>0.55
  (ADAMK on 2006-01-27)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.53"
>0.53
  (AUTRIJUS on 2006-01-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.52"
>0.52
  (AUTRIJUS on 2006-01-03)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.51"
>0.51
  (AUTRIJUS on 2005-12-31)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.50"
>0.50
  (AUTRIJUS on 2005-12-26)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.48"
>0.48
  (AUTRIJUS on 2005-12-25)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.47"
>0.47
  (AUTRIJUS on 2005-12-25)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.46"
>0.46
  (AUTRIJUS on 2005-12-22)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.45"
>0.45
  (AUTRIJUS on 2005-12-16)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.44"
>0.44
  (AUTRIJUS on 2005-12-12)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.43"
>0.43
  (AUTRIJUS on 2005-12-12)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.42"
>0.42
  (AUTRIJUS on 2005-12-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.41"
>0.41
  (AUTRIJUS on 2005-12-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.40"
>0.40
  (AUTRIJUS on 2005-12-07)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.39"
>0.39
  (AUTRIJUS on 2005-11-14)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.38"
>0.38
  (AUTRIJUS on 2005-10-24)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.37"
>0.37
  (AUTRIJUS on 2005-08-03)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.36"
>0.36
  (AUTRIJUS on 2004-09-09)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.35"
>0.35
  (AUTRIJUS on 2004-07-13)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.34"
>0.34
  (AUTRIJUS on 2004-07-01)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.33"
>0.33
  (AUTRIJUS on 2004-03-11)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.32"
>0.32
  (AUTRIJUS on 2004-02-26)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.31"
>0.31
  (AUTRIJUS on 2004-01-01)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.29"
>0.29
  (AUTRIJUS on 2003-12-15)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.28"
>0.28
  (AUTRIJUS on 2003-12-12)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.27"
>0.27
  (AUTRIJUS on 2003-10-28)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.25"
>0.25
  (AUTRIJUS on 2003-10-13)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.24"
>0.24
  (AUTRIJUS on 2003-09-01)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.23"
>0.23
  (AUTRIJUS on 2003-08-18)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.22"
>0.22
  (AUTRIJUS on 2003-07-16)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.21"
>0.21
  (AUTRIJUS on 2003-06-16)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.20"
>0.20
  (AUTRIJUS on 2003-06-05)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_99"
>0.19_99 DEV
  (AUTRIJUS on 2003-05-20)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_98"
>0.19_98 DEV
  (AUTRIJUS on 2003-05-14)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_97"
>0.19_97 DEV
  (AUTRIJUS on 2003-05-08)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_96"
>0.19_96 DEV
  (AUTRIJUS on 2003-05-07)</option>
<option
  
  value="AUTRIJUS/Module-Install-0.19_95"
>0.19_95 DEV
  (AUTRIJUS on 2003-03-27)</option>
</optgroup>
</select>
    <a data-keyboard-shortcut="g d" class="release-name" href="https://metacpan.org/dist/Module-Install">Module-Install-1.21</a>
  </div>
<span class="river-gauge-gauge">
  <svg width="24px"
       height="15px"
       version="1.1"
       xmlns="http://www.w3.org/2000/svg"
       xmlns:xlink="http://www.w3.org/1999/xlink">

    <g>
      <title>        River stage three &#10;
          • 98 direct dependents &#10;          • 178 total dependents
      </title>

      <rect x="0"  y="0" width="4" height="15" fill="#7ea3f2" />
      <rect x="5"  y="0" width="4" height="15" fill="#7ea3f2" />
      <rect x="10"  y="0" width="4" height="15" fill="#7ea3f2" />
      <rect x="15"  y="0" width="4" height="15" fill="#e4e2e2" />
      <rect x="20"  y="0" width="4" height="15" fill="#e4e2e2" />
    </g>
  </svg>

</span>
<div id="Module-Install-fav" class="logged_in">
<form action="https://metacpan.org/account/favorite/add" style="display: inline" onsubmit="return favDistribution(this)">
    <input type="hidden" name="remove" value="0">
    <input type="hidden" name="release" value="Module-Install-1.21">
    <input type="hidden" name="author" value="ETHER">
    <input type="hidden" name="distribution" value="Module-Install">
    <button type="submit" class="favorite highlight"><span>19</span> ++</button>
</form>
</div>
<div class="logged_out">
<a href="./Module::Install.html" onclick="alert('Please sign in to add favorites'); return false" class="favorite highlight">
<span>19</span> ++</a>
</div>
   / <span>Module::Install</span>
</div>
          </div>
          <main class="content">


<nav class="toc">
  <div class="toc-header"><strong>Contents</strong></div>
<ul>
  <li><a href="./Module::Install.html#NAME">NAME</a></li>
  <li><a href="./Module::Install.html#SYNOPSIS">SYNOPSIS</a></li>
  <li><a href="./Module::Install.html#WARNING">WARNING</a></li>
  <li><a href="./Module::Install.html#DESCRIPTION">DESCRIPTION</a>
    <ul>
      <li><a href="./Module::Install.html#Writing-Module::Install-Installers">Writing Module::Install Installers</a></li>
    </ul>
  </li>
  <li><a href="./Module::Install.html#How-it-Works">How it Works</a>
    <ul>
      <li><a href="./Module::Install.html#History">History</a></li>
    </ul>
  </li>
  <li><a href="./Module::Install.html#COMMON-COMMANDS">COMMON COMMANDS</a>
    <ul>
      <li><a href="./Module::Install.html#name">name</a></li>
      <li><a href="./Module::Install.html#all_from">all_from</a></li>
      <li><a href="./Module::Install.html#abstract">abstract</a></li>
      <li><a href="./Module::Install.html#abstract_from">abstract_from</a></li>
      <li><a href="./Module::Install.html#author">author</a></li>
      <li><a href="./Module::Install.html#author_from">author_from</a></li>
      <li><a href="./Module::Install.html#version">version</a></li>
      <li><a href="./Module::Install.html#version_from">version_from</a></li>
      <li><a href="./Module::Install.html#license">license</a></li>
      <li><a href="./Module::Install.html#license_from">license_from</a></li>
      <li><a href="./Module::Install.html#perl_version">perl_version</a></li>
      <li><a href="./Module::Install.html#perl_version_from">perl_version_from</a></li>
      <li><a href="./Module::Install.html#recommends">recommends</a></li>
      <li><a href="./Module::Install.html#requires">requires</a></li>
      <li><a href="./Module::Install.html#test_requires">test_requires</a></li>
      <li><a href="./Module::Install.html#configure_requires">configure_requires</a></li>
      <li><a href="./Module::Install.html#requires_external_bin">requires_external_bin</a></li>
      <li><a href="./Module::Install.html#install_script">install_script</a></li>
      <li><a href="./Module::Install.html#no_index">no_index</a></li>
      <li><a href="./Module::Install.html#installdirs,-install_as_*">installdirs, install_as_*</a></li>
      <li><a href="./Module::Install.html#WriteAll">WriteAll</a></li>
    </ul>
  </li>
  <li><a href="./Module::Install.html#EXTENSIONS">EXTENSIONS</a>
    <ul>
      <li><a href="./Module::Install.html#Standard-Extensions">Standard Extensions</a></li>
      <li><a href="./Module::Install.html#Private-Extensions">Private Extensions</a></li>
      <li><a href="./Module::Install.html#Administrative-Extensions">Administrative Extensions</a></li>
    </ul>
  </li>
  <li><a href="./Module::Install.html#EXTENSIONS1">EXTENSIONS</a>
    <ul>
      <li><a href="./Module::Install.html#Module::Install::AutoInstall">Module::Install::AutoInstall</a></li>
      <li><a href="./Module::Install.html#Module::Install::Base">Module::Install::Base</a></li>
      <li><a href="./Module::Install.html#Module::Install::Bundle">Module::Install::Bundle</a></li>
      <li><a href="./Module::Install.html#Module::Install::Fetch">Module::Install::Fetch</a></li>
      <li><a href="./Module::Install.html#Module::Install::Include">Module::Install::Include</a></li>
      <li><a href="./Module::Install.html#Module::Install::Inline">Module::Install::Inline</a></li>
      <li><a href="./Module::Install.html#Module::Install::Makefile">Module::Install::Makefile</a></li>
      <li><a href="./Module::Install.html#Module::Install::Metadata">Module::Install::Metadata</a></li>
      <li><a href="./Module::Install.html#Module::Install::PAR">Module::Install::PAR</a></li>
      <li><a href="./Module::Install.html#Module::Install::Run">Module::Install::Run</a></li>
      <li><a href="./Module::Install.html#Module::Install::Scripts">Module::Install::Scripts</a></li>
      <li><a href="./Module::Install.html#Module::Install::Win32">Module::Install::Win32</a></li>
      <li><a href="./Module::Install.html#Module::Install::WriteAll">Module::Install::WriteAll</a></li>
      <li><a href="./Module::Install.html#Module::Install::Admin::Find">Module::Install::Admin::Find</a></li>
      <li><a href="./Module::Install.html#Module::Install::Admin::Manifest">Module::Install::Admin::Manifest</a></li>
      <li><a href="./Module::Install.html#Module::Install::Admin::Metadata">Module::Install::Admin::Metadata</a></li>
      <li><a href="./Module::Install.html#Module::Install::Admin::ScanDeps">Module::Install::Admin::ScanDeps</a></li>
    </ul>
  </li>
  <li><a href="./Module::Install.html#FAQ">FAQ</a>
    <ul>
      <li><a href="./Module::Install.html#What-are-the-benefits-of-using-Module::Install?">What are the benefits of using Module::Install?</a></li>
      <li><a href="./Module::Install.html#Module::Install-isn&#39;t-at-1.00-yet,-is-it-safe-to-use-yet?">Module::Install isn&#39;t at 1.00 yet, is it safe to use yet?</a></li>
    </ul>
  </li>
  <li><a href="./Module::Install.html#COOKBOOK-/-EXAMPLES">COOKBOOK / EXAMPLES</a>
    <ul>
      <li><a href="./Module::Install.html#Method::Alias">Method::Alias</a></li>
      <li><a href="./Module::Install.html#File::HomeDir">File::HomeDir</a></li>
    </ul>
  </li>
  <li><a href="./Module::Install.html#TO-DO">TO DO</a></li>
  <li><a href="./Module::Install.html#SEE-ALSO">SEE ALSO</a></li>
  <li><a href="./Module::Install.html#SUPPORT">SUPPORT</a></li>
  <li><a href="./Module::Install.html#AUTHORS">AUTHORS</a></li>
  <li><a href="./Module::Install.html#COPYRIGHT">COPYRIGHT</a></li>
</ul></nav>
<div class="pod anchors">
<h1 id="NAME">NAME</h1>

<p>Module::Install - Standalone, extensible Perl module installer</p>

<h1 id="SYNOPSIS">SYNOPSIS</h1>

<p>In your <i>Makefile.PL</i>: (Recommended Usage)</p>

<pre><code>  use inc::Module::Install;

  # Define metadata
  name           &#39;Your-Module&#39;;
  all_from       &#39;lib/Your/Module.pm&#39;;

  # Specific dependencies
  requires       &#39;File::Spec&#39;  =&gt; &#39;0.80&#39;;
  test_requires  &#39;Test::More&#39;  =&gt; &#39;0.42&#39;;
  recommends     &#39;Text::CSV_XS&#39;=&gt; &#39;0.50&#39;;
  no_index       &#39;directory&#39;   =&gt; &#39;demos&#39;;
  install_script &#39;myscript&#39;;

  WriteAll;</code></pre>

<p>Quickly upgrade a legacy <a href="https://metacpan.org/pod/ExtUtil::MakeMaker">ExtUtil::MakeMaker</a> installer:</p>

<pre><code>  use inc::Module::Install;
  WriteMakefile( ... );</code></pre>

<h1 id="WARNING">WARNING</h1>

<p>Please note that while <b>Module::Install</b> pioneered many great ideas in its time, its primary benefits have been better achieved by the authoring tool <a href="./Dist::Zilla.html">Dist::Zilla</a>, and its spinoffs <a href="./Dist::Milla.html">Dist::Milla</a> and <a href="Minilla.html">Minilla</a>. These tools allow the author to build and maintain distributions with DWIM convenience, while the distribution is installed directly by <a href="https://metacpan.org/pod/ExtUtils::MakeMaker">ExtUtils::MakeMaker</a> or similar installation tools, avoiding the complexity of bundling the installer. <a href="./Dist::Zilla.html">Dist::Zilla</a> additionally has a more robust plugin system which makes it easier to keep up with changes to the <a href="https://metacpan.org/pod/CPAN::Meta::Spec">CPAN::Meta::Spec</a> and add other new functionality. Use of <b>Module::Install</b> for new distributions is therefore discouraged by the maintainers.</p>

<h1 id="DESCRIPTION">DESCRIPTION</h1>

<p><b>Module::Install</b> is a package for writing installers for CPAN (or CPAN-like) distributions that are clean, simple, minimalist, act in a strictly correct manner with <a href="https://metacpan.org/pod/ExtUtils::MakeMaker">ExtUtils::MakeMaker</a>, and will run on any Perl installation version 5.005 or newer.</p>

<p>The intent is to make it as easy as possible for CPAN authors (and especially for first-time CPAN authors) to have installers that follow all the best practices for distribution installation, but involve as much DWIM (Do What I Mean) as possible when writing them.</p>

<h2 id="Writing-Module::Install-Installers"><a id="Writing"></a>Writing Module::Install Installers</h2>

<p>The quickest way to get started with Module::Install is to copy the <a href="./Module::Install.html#SYNOPSIS">&quot;SYNOPSIS&quot;</a> from above and save it as your own <i>Makefile.PL</i>. Then modify the file to suit your own particular case, using the list of commands documented in <a href="./Module::Install.html#COMMON-COMMANDS">&quot;COMMON COMMANDS&quot;</a> below.</p>

<p>If all you want to do is write an installer, go and do that now. You don&#39;t really need the rest of this description unless you are interested in the details.</p>

<h1 id="How-it-Works"><a id="How"></a>How it Works</h1>

<p>The motivation behind <b>Module::Install</b> is that distributions need to interact with a large number of different versions of <a href="https://metacpan.org/pod/perl">perl</a> and module installers infrastructure, primarily <a href="https://metacpan.org/pod/CPAN">CPAN</a>.pm, <a href="CPANPLUS.html">CPANPLUS</a>.pm, <a href="https://metacpan.org/pod/ExtUtils::MakeMaker">ExtUtils::MakeMaker</a> and <a href="./Module::Build.html">Module::Build</a>.</p>

<p>These have accumulated <b>greatly</b> varying feature and bug profiles over the years, and it is now very difficult to write an installer that will work properly using only the installed versions of these modules,</p>

<p>For example, the <a href="https://metacpan.org/pod/CPAN">CPAN</a>.pm version shipped with Perl 5.005 is now 5+ years old and considered highly buggy, yet it still exists on quite a number of legacy machines.</p>

<p>Rather than try to target one specific installer and/or make you add twisty workaround expressions to every piece of install code you write, <b>Module::Install</b> will copy part of itself into each module distribution it creates.</p>

<p>This allows new improvements to be used in your installers regardless of the age of the system a distribution is being installed on, at the cost of a small increase in the size of your distribution.</p>

<h2 id="History">History</h2>

<p>This module was originally written by Brian Ingerson as a smart drop-in replacement for <a href="https://metacpan.org/pod/ExtUtils::MakeMaker">ExtUtils::MakeMaker</a>.</p>

<p>For more information, see Brian&#39;s <i>Creating Module Distributions with Module::Install</i> in June 2003 issue of The Perl Journal (<a href="http://www.drdobbs.com/web-development/creating-module-distributions-with-modul/184416018">http://www.drdobbs.com/web-development/creating-module-distributions-with-modul/184416018</a>)</p>

<p>For a <b>lot</b> more information, and some personal opinions on the module and its creation, see <a href="https://metacpan.org/pod/distribution/Module-Install/lib/Module/Install/Philosophy.pod">Module::Install::Philosophy</a>.</p>

<h1 id="COMMON-COMMANDS"><a id="COMMON"></a>COMMON COMMANDS</h1>

<p>The following are the most common commands generally used in installers.</p>

<p>It is far from an exhaustive list, as many of the plugins provide commands to work in more details that you would normally need.</p>

<h2 id="name">name</h2>

<pre><code>  name &#39;My-Module&#39;;</code></pre>

<p>The <b>name</b> command is compulsory command, generally the first.</p>

<p>It provides the name of your distribution, which for a module like <b>Your::Module</b> would normally be <code>Your-Module</code>.</p>

<p>This naming scheme is not hard and fast and you should note that distributions are actually a separate naming scheme from modules.</p>

<p>For example the <a href="LWP.html">LWP</a> modules come in a distribution called <code>libwww-perl</code>.</p>

<h2 id="all_from">all_from</h2>

<pre><code>  all_from &#39;lib/My/Module.pm&#39;;</code></pre>

<p>For most simple Perl distributions that feature one dominant module or class as the base, you can get the most Do What I Mean functionality by using the <b>all_from</b> command, which will try to extract as much metadata as possible from the Perl code and POD in that primary module.</p>

<p>Functionally, <code>all_from</code> is equivalent to <code>abstract_from</code> + <code>author_from</code> + <code>version_from</code> + <code>license_from</code> + <code>perl_version_from</code>. See below for details.</p>

<p>If any of these values are set already <b>before</b> <code>all_from</code> is used, they will kept and <b>not</b> be overwritten.</p>

<h2 id="abstract">abstract</h2>

<pre><code>  abstract &#39;This distribution does something&#39;;</code></pre>

<p>All distributions have an abstract, a short description of the distribution as a whole. It is usually around 30-70 characters long.</p>

<p>The <code>abstract</code> command is used to explicitly set the abstract for the distribution, at least as far as the metadata file for the distribution is concerned.</p>

<h2 id="abstract_from">abstract_from</h2>

<pre><code>  abstract_from &#39;lib/My/Module.pm&#39;;</code></pre>

<p>The <code>abstract_from</code> command retrieves the abstract from a particular file contained in the distribution package. Most often this is done from the main module, where <code>Module::Install</code> will read the POD and use whatever is in the <code>=head1 NAME</code> section (with module name stripped if needed)</p>

<p><code>abstract_from</code> is set as part of <code>all_from</code>.</p>

<h2 id="author">author</h2>

<pre><code>  author &#39;Adam Kennedy &lt;adamk@cpan.org&gt;&#39;;</code></pre>

<p>The distribution metadata contains information on the primary author or the distribution, or the primary maintainer if the original author is no longer involved. It should generally be specified in the form of an email address.</p>

<p>It you don&#39;t want to give away a real email address, you should use the <code>CPANID@cpan.org</code> address you receive automatically when you got your PAUSE account.</p>

<p>The <code>author</code> command is used to explicitly set this value.</p>

<h2 id="author_from">author_from</h2>

<pre><code>  author_from &#39;lib/My/Module.pm&#39;;</code></pre>

<p>The <code>author_from</code> command retrieves the author from a particular file contained in the distribution package. Most often this is done using the main module, where <a href="https://metacpan.org/pod/distribution/Module-Install/lib/Module/Install.pod">Module::Install</a> will read the POD and use whatever it can find in the <code>=head1 AUTHOR</code> section.</p>

<h2 id="version">version</h2>

<pre><code>  version &#39;0.01&#39;;</code></pre>

<p>The <code>version</code> command is used to specify the version of the distribution, as distinct from the version of any single module within the distribution.</p>

<p>Of course, in almost all cases you want it to match the version of the primary module within the distribution, which you can do using <code>version_from</code>.</p>

<h2 id="version_from">version_from</h2>

<pre><code>  version_from &#39;lib/My/Module.pm&#39;;</code></pre>

<p>The <code>version_from</code> command retrieves the distribution version from a particular file contained in the distribution package. Most often this is done from the main module.</p>

<p><code>version_from</code> will look for the first time you set <code>$VERSION</code> and use the same value, using a technique consistent with various other module version scanning tools.</p>

<h2 id="license">license</h2>

<pre><code>  license &#39;perl&#39;;</code></pre>

<p>The <code>license</code> command specifies the license for the distribution.</p>

<p>Most often this value will be <code>&#39;perl&#39;</code>, meaning <i>&quot;the same as for Perl itself&quot;</i>. Other allowed values include <code>&#39;gpl&#39;</code>, <code>&#39;lgpl&#39;</code>, <code>&#39;bsd&#39;</code>, <code>&#39;MIT&#39;</code>, and <code>&#39;artistic&#39;</code>.</p>

<p>This value is always considered a summary, and it is normal for authors to include a <i>LICENSE</i> file in the distribution, containing the full license for the distribution.</p>

<p>You are also reminded that if the distribution is intended to be uploaded to the CPAN, it <b>must</b> be an OSI-approved open source license. Commercial software is not permitted on the CPAN.</p>

<h2 id="license_from">license_from</h2>

<pre><code>  license_from &#39;lib/My/Module.pm&#39;;</code></pre>

<p>The <code>license_from</code> command retrieves the distribution license from a particular file contained in the distribution package. Most often this is done from the main module.</p>

<p><code>license_from</code> will look inside the POD within the indicated file for a licensing or copyright-related section and scan for a variety of strings that identify the general class of license.</p>

<p>At this time it supports only the 6 values mentioned above in the <code>license</code> command summary.</p>

<h2 id="perl_version">perl_version</h2>

<pre><code>  perl_version &#39;5.006&#39;;</code></pre>

<p>The <code>perl_version</code> command is used to specify the minimum version of the perl interpreter your distribution requires.</p>

<p>When specifying the version, you should try to use the normalized version string. Perl version segments are 3 digits long, so a dependency on Perl 5.6 will become <code>&#39;5.006&#39;</code> and Perl 5.10.2 will become <code>&#39;5.010002&#39;</code>.</p>

<h2 id="perl_version_from">perl_version_from</h2>

<pre><code>  perl_version_from &#39;lib/My/Module.pm&#39;</code></pre>

<p>The <code>perl_version_from</code> command retrieves the minimum <i>perl</i> interpreter version from a particular file contained in the distribution package. Most often this is done from the main module.</p>

<p>The minimum version is detected by scanning the file for <code>use 5.xxx</code> pragma calls in the module file.</p>

<h2 id="recommends">recommends</h2>

<pre><code>  recommends &#39;Text::CSV_XS&#39; =&gt; &#39;0.50&#39;</code></pre>

<p>The <code>recommends</code> command indicates an optional run-time module that provides extra functionality. Recommended dependencies are not needed to build or test your distribution, but are considered &quot;nice to have&quot;.</p>

<p>As with <a href="./Module::Install.html#requires">&quot;requires&quot;</a>, the dependency is on a <b>module</b> and not a distribution. A version of zero indicates that any version of the module is recommended.</p>

<h2 id="requires">requires</h2>

<pre><code>  requires &#39;List::Util&#39; =&gt; 0;
  requires &#39;LWP&#39;        =&gt; &#39;5.69&#39;;</code></pre>

<p>The <code>requires</code> command indicates a normal run-time dependency of your distribution on another module. Most distributions will have one or more of these commands, indicating which CPAN (or otherwise) modules your distribution needs.</p>

<p>A <code>requires</code> dependency can be verbalised as <i>&quot;If you wish to install and use this distribution, you must first install these modules first&quot;</i>.</p>

<p>Note that the dependency is on a <b>module</b> and not a distribution. This is to ensure that your dependency stays correct, even if the module is moved or merged into a different distribution, as is occasionally the case.</p>

<p>A dependency on version zero indicates <b>any</b> version of module is sufficient. Versions should generally be quoted for clarity.</p>

<h2 id="test_requires">test_requires</h2>

<pre><code>  test_requires &#39;Test::More&#39; =&gt; &#39;0.47&#39;;</code></pre>

<p>The <code>test_requires</code> command indicates a test script dependency for the distribution. The specification format is identical to that of the <code>requires</code> command.</p>

<p>The <code>test_requires</code> command is distinct from the <code>requires</code> command in that it indicates a module that is needed <b>only</b> during the testing of the distribution (often a period of only a few seconds) but will <b>not</b> be needed after the distribution is installed.</p>

<p>The <code>testrequires</code> command is used to allow the installer some flexibility in how it provides the module, and to allow downstream packagers (Debian, FreeBSD, ActivePerl etc) to retain only the dependencies needed for run-time operation.</p>

<p>The <code>include</code> command is sometimes used by some authors along with <code>test_requires</code> to bundle a small well-tested module into the distribution package itself rather than inflict yet another module installation on users installing from CPAN directly.</p>

<h2 id="configure_requires">configure_requires</h2>

<pre><code>  configure_requires &#39;File::Spec&#39; =&gt; &#39;0.80&#39;;</code></pre>

<p>The <code>configure_requires</code> command indicates a configure-time dependency for the distribution. The specification format is identical to that of the <code>requires</code> command.</p>

<p>The <code>configure_requires</code> command is used to get around the conundrum of how to use a CPAN module in your Makefile.PL, when you have to load Makefile.PL (and thus the CPAN module) in order to know that you need it.</p>

<p>Traditionally, this circular logic could not be broken and so Makefile.PL scripts needed to rely on lowest-common-denominator approaches, or to bundle those dependencies using something like the <code>include</code> command.</p>

<p>The <code>configure_requires</code> command creates an entry in the special configure_requires: key in the distribution&#39;s <i>META.yml</i> file.</p>

<p>Although most of <i>META.yml</i> is considered advisory only, a <a href="https://metacpan.org/pod/CPAN">CPAN</a> client will treat the contents of configure_requires: as authoritative, and install the listed modules <b>before</b> it executes the <i>Makefile.PL</i> (from which it then determines the other dependencies).</p>

<p>Please note that support for configure_requires: in CPAN clients is not 100% complete at time of writing, and still cannot be relied upon.</p>

<p>Because <b>Module::Install</b> itself only supports 5.005, it will silently add the equivalent of a <code>configure_requires( perl =&gt; &#39;5.005&#39; );</code> command to your distribution.</p>

<h2 id="requires_external_bin">requires_external_bin</h2>

<pre><code>  requires_external_bin &#39;cvs&#39;;</code></pre>

<p>As part of its role as the dominant &quot;glue&quot; language, a lot of Perl modules run commands or programs on the host system.</p>

<p>The <code>requires_external_bin</code> command is used to verify that a particular command is available on the host system.</p>

<p>Unlike a missing Perl module, a missing external binary is unresolvable at make-time, and so the <i>Makefile.PL</i> run will abort with a &quot;NA&quot; (Not Applicable) result.</p>

<p>In future, this command will also add additional information to the metadata for the dist, so that auto-packagers for particular operating system are more-easily able to auto-discover the appropriate non-Perl packages needed as a dependency.</p>

<h2 id="install_script">install_script</h2>

<pre><code>  # The following are equivalent
  install_script &#39;script/scriptname&#39;</code></pre>

<p>The <code>install_script</code> command provides support for the installation of scripts that will become available at the console on both Unix and Windows (in the later case by wrapping it up as a .bat file).</p>

<p>Note that is it normal practice to <b>not</b> put a .pl on the end of such scripts, so that they feel more natural when being used.</p>

<p>In the example above, the <i>script/scriptname</i> program could be run after the installation just by doing the following.</p>

<pre><code>  &gt; scriptname
  Running scriptname 0.01...

  &gt;</code></pre>

<p>By convention, scripts should be placed in a /script directory within your distribution. To support less typing, if a script is located in the script directory, you need refer to it by name only.</p>

<pre><code>  # The following are equivalent
  install_script &#39;foo&#39;;
  install_script &#39;script/foo&#39;;</code></pre>

<h2 id="no_index">no_index</h2>

<pre><code>  no_index directory =&gt; &#39;examples&#39;;
  no_index package   =&gt; &#39;DB&#39;;</code></pre>

<p>Quite often a distribution will provide example scripts or testing modules (.pm files) as well as the actual library modules.</p>

<p>In almost all situations, you do <b>not</b> want these indexed in the CPAN index, the master Perl packages list, or displayed on <a href="https://metacpan.org/">https://metacpan.org/</a> or <a href="http://search.cpan.org/">http://search.cpan.org/</a> websites, you just want them along for the ride.</p>

<p>The <code>no_index</code> command is used to indicate directories or files where there might be non-library .pm files or other files that the CPAN indexer and websites such as <a href="https://metacpan.org/">https://metacpan.org/</a> or <a href="http://search.cpan.org/">http://search.cpan.org/</a> should explicitly ignore.</p>

<p>The most common situation is to ignore example or demo directories, but a variety of different situations may require a <code>no_index</code> entry.</p>

<p>Another common use for <code>no_index</code> is to prevent the PAUSE indexer complaining when your module makes changes inside a &quot;package DB&quot; block. This is used to interact with the debugger in some specific ways.</p>

<p>See the <i>META.yml</i> documentation for more details on what <code>no_index</code> values are allowed.</p>

<p>The <i>inc</i>, <i>t</i> and <i>share</i> (if <code>install_share</code> is used) directories are automatically <code>no_index</code>&#39;ed for you if found and do not require an explicit command.</p>

<p>To summarize, if you can see it on <a href="https://metacpan.org/">https://metacpan.org/</a> or <a href="http://search.cpan.org/">http://search.cpan.org/</a> and you shouldn&#39;t be able to, you need a <code>no_index</code> entry to remove it.</p>

<h2 id="installdirs,-install_as_*"><a id="installdirs"></a><a id="installdirs--install_as_"></a>installdirs, install_as_*</h2>

<pre><code>  installdirs &#39;site&#39;; # the default

  install_as_core;    # alias for installdirs &#39;perl&#39;
  install_as_cpan;    # alias for installdirs &#39;site&#39;
  install_as_site;    # alias for installdirs &#39;site&#39;
  install_as_vendor;  # alias for installdirs &#39;vendor&#39;</code></pre>

<p>The <code>installdirs</code> and <code>install_as</code> commands specify the location where the module should be installed; this is the equivalent to <a href="https://metacpan.org/pod/ExtUtils::MakeMaker">ExtUtils::MakeMaker</a>&#39;s <code>INSTALLDIRS</code> option. For almost all regular modules, the default is recommended, and need not be changed. Dual-life (core and CPAN) modules, as well as vendor-specific modules, may need to use the other options.</p>

<p>If unsure, do not use this option.</p>

<h2 id="WriteAll">WriteAll</h2>

<p>The <code>WriteAll</code> command is generally the last command in the file; it writes out <i>META.yml</i> and <i>Makefile</i> so the user can run the <code>make</code>, <code>make test</code>, <code>make install</code> install sequence.</p>

<h1 id="EXTENSIONS">EXTENSIONS</h1>

<p>All extensions belong to the <b>Module::Install::*</b> namespace, and inherit from <b>Module::Install::Base</b>. There are three categories of extensions:</p>

<h2 id="Standard-Extensions"><a id="Standard"></a>Standard Extensions</h2>

<p>Methods defined by a standard extension may be called as plain functions inside <i>Makefile.PL</i>; a corresponding singleton object will be spawned automatically. Other extensions may also invoke its methods just like their own methods:</p>

<pre><code>    # delegates to $other_extension_obj-&gt;method_name(@args)
    $self-&gt;method_name(@args);</code></pre>

<p>At the first time an extension&#39;s method is invoked, a POD-stripped version of it will be included under the <i>inc/Module/Install/</i> directory, and becomes <i>fixed</i> -- i.e., even if the user had installed a different version of the same extension, the included one will still be used instead.</p>

<p>If the author wish to upgrade extensions in <i>inc/</i> with installed ones, simply run <code>perl Makefile.PL</code> again; <b>Module::Install</b> determines whether you are an author by the existence of the <i>inc/.author/</i> directory. End-users can reinitialize everything and become the author by typing <code>make realclean</code> and <code>perl Makefile.PL</code>.</p>

<h2 id="Private-Extensions"><a id="Private"></a>Private Extensions</h2>

<p>Those extensions take the form of <b>Module::Install::PRIVATE</b> and <b>Module::Install::PRIVATE::*</b>.</p>

<p>Authors are encouraged to put all existing <i>Makefile.PL</i> magics into such extensions (e.g. <i>Module::Install::PRIVATE</i> for common bits; <i>Module::Install::PRIVATE::DISTNAME</i> for functions specific to a distribution).</p>

<p>Private extensions should not to be released on CPAN; simply put them somewhere in your <code>@INC</code>, under the <code>Module/Install/</code> directory, and start using their functions in <i>Makefile.PL</i>. Like standard extensions, they will never be installed on the end-user&#39;s machine, and therefore never conflict with other people&#39;s private extensions.</p>

<h2 id="Administrative-Extensions"><a id="Administrative"></a>Administrative Extensions</h2>

<p>Extensions under the <b>Module::Install::Admin::*</b> namespace are never included with the distribution. Their methods are not directly accessible from <i>Makefile.PL</i> or other extensions; they are invoked like this:</p>

<pre><code>    # delegates to $other_admin_extension_obj-&gt;method_name(@args)
    $self-&gt;admin-&gt;method_name(@args);</code></pre>

<p>These methods only take effect during the <i>initialization</i> run, when <i>inc/</i> is being populated; they are ignored for end-users. Again, to re-initialize everything, just run <code>perl Makefile.PL</code> as the author.</p>

<p>Scripts (usually one-liners in <i>Makefile</i>) that wish to dispatch <b>AUTOLOAD</b> functions into administrative extensions (instead of standard extensions) should use the <b>Module::Install::Admin</b> module directly. See <a href="https://metacpan.org/pod/Module::Install::Admin">Module::Install::Admin</a> for details.</p>

<h1 id="EXTENSIONS1">EXTENSIONS</h1>

<p>Detailed information is provided for all (some) of the relevant modules via their own POD documentation.</p>

<h2 id="Module::Install::AutoInstall"><a id="Module"></a>Module::Install::AutoInstall</h2>

<p>Provides <code>auto_install()</code> to automatically fetch and install prerequisites.</p>

<h2 id="Module::Install::Base"><a id="Module1"></a>Module::Install::Base</h2>

<p>The base class for all extensions</p>

<h2 id="Module::Install::Bundle"><a id="Module2"></a>Module::Install::Bundle</h2>

<p>Provides the <code>bundle</code> family of commands, allowing you to bundle another CPAN distribution within your distribution.</p>

<h2 id="Module::Install::Fetch"><a id="Module3"></a>Module::Install::Fetch</h2>

<p>Handles install-time fetching of files from remote servers via FTP and HTTP.</p>

<h2 id="Module::Install::Include"><a id="Module4"></a>Module::Install::Include</h2>

<p>Provides the <code>include</code> family of commands for embedding modules that are only need at build-time in your distribution and won&#39;t be installed.</p>

<h2 id="Module::Install::Inline"><a id="Module5"></a>Module::Install::Inline</h2>

<p>Provides <code>&amp;Inline-&gt;write</code> to replace <b>Inline::MakeMaker</b>&#39;s functionality for making <b>Inline</b>-based modules (and cleaning up).</p>

<p>However, you should invoke this with <code>WriteAll( inline =&gt; 1 )</code>.</p>

<h2 id="Module::Install::Makefile"><a id="Module6"></a>Module::Install::Makefile</h2>

<p>Provides <code>&amp;Makefile-&gt;write</code> to generate a <i>Makefile</i> for you distribution.</p>

<h2 id="Module::Install::Metadata"><a id="Module7"></a>Module::Install::Metadata</h2>

<p>Provides <code>&amp;Meta-&gt;write</code> to generate a <i>META.yml</i> file for your distribution.</p>

<h2 id="Module::Install::PAR"><a id="Module8"></a>Module::Install::PAR</h2>

<p>Makes pre-compiled module binary packages from the built <i>blib</i> directory, and download existing ones to save recompiling.</p>

<h2 id="Module::Install::Run"><a id="Module9"></a>Module::Install::Run</h2>

<p>Determines if commands are available on the user&#39;s machine, and runs them via <b>IPC::Run3</b>.</p>

<h2 id="Module::Install::Scripts"><a id="Module10"></a>Module::Install::Scripts</h2>

<p>Handles packaging and installation of scripts to various bin dirs.</p>

<h2 id="Module::Install::Win32"><a id="Module11"></a>Module::Install::Win32</h2>

<p>Functions for installing modules on Win32 and finding/installing <i>nmake.exe</i> for users that need it.</p>

<h2 id="Module::Install::WriteAll"><a id="Module12"></a>Module::Install::WriteAll</h2>

<p>Provides the <code>WriteAll</code>, which writes all the requires files, such as <i>META.yml</i> and <i>Makefile</i>.</p>

<p><code>WriteAll</code> takes four optional named parameters:</p>

<dl>

<dt id="check_nmake-(defaults-to-true)"><a id="check_nmake"></a><a id="check_nmake--defaults-to-true"></a><code>check_nmake</code> (defaults to true)</dt>
<dd>

<p>If true, invokes functions with the same name.</p>

<p><i>The use of this param is no longer recommended.</i></p>

</dd>
<dt id="inline-(defaults-to-false)"><a id="inline"></a><a id="inline--defaults-to-false"></a><code>inline</code> (defaults to false)</dt>
<dd>

<p>If true, invokes <code>&amp;Inline-&gt;write</code> <a href="https://metacpan.org/pod/Inline">Inline</a> modules.</p>

</dd>
<dt id="meta-(defaults-to-true)"><a id="meta"></a><a id="meta--defaults-to-true"></a><code>meta</code> (defaults to true)</dt>
<dd>

<p>If true, writes a <code>META.yml</code> file.</p>

</dd>
<dt id="sign-(defaults-to-false)"><a id="sign"></a><a id="sign--defaults-to-false"></a><code>sign</code> (defaults to false)</dt>
<dd>

<p>If true, invokes <code>sign</code> command to digitally sign erm... something.</p>

</dd>
</dl>

<h2 id="Module::Install::Admin::Find"><a id="Module13"></a>Module::Install::Admin::Find</h2>

<p>Package-time functions for finding extensions, installed packages and files in subdirectories.</p>

<h2 id="Module::Install::Admin::Manifest"><a id="Module14"></a>Module::Install::Admin::Manifest</h2>

<p>Package-time functions for manipulating and updating the <i>MANIFEST</i> file.</p>

<h2 id="Module::Install::Admin::Metadata"><a id="Module15"></a>Module::Install::Admin::Metadata</h2>

<p>Package-time functions for manipulating and updating the <i>META.yml</i> file.</p>

<h2 id="Module::Install::Admin::ScanDeps"><a id="Module16"></a>Module::Install::Admin::ScanDeps</h2>

<p>Package-time scanning for non-core dependencies via <b>Module::ScanDeps</b> and <b>Module::CoreList</b>.</p>

<h1 id="FAQ">FAQ</h1>

<h2 id="What-are-the-benefits-of-using-Module::Install?"><a id="What"></a><a id="What-are-the-benefits-of-using-Module::Install"></a>What are the benefits of using <b>Module::Install</b>?</h2>

<p>Here is a brief overview of the reasons:</p>

<ul>

<li><p>Extremely easy for beginners to learn</p>

</li>
<li><p>Does everything ExtUtils::MakeMaker does.</p>

</li>
<li><p>Does it with a dramatically simpler syntax.</p>

</li>
<li><p>Automatically scans for metadata for you.</p>

</li>
<li><p>Requires no installation for end-users.</p>

</li>
<li><p>Guaranteed forward-compatibility.</p>

</li>
<li><p>Automatically updates your MANIFEST.</p>

</li>
<li><p>Distributing scripts is easy.</p>

</li>
<li><p>Include prerequisite modules (less dependencies to install)</p>

</li>
<li><p>Auto-installation of prerequisites.</p>

</li>
<li><p>Support for <a href="https://metacpan.org/pod/Inline">Inline</a>-based modules.</p>

</li>
<li><p>Support for <a href="./File::ShareDir.html">File::ShareDir</a> shared data files</p>

</li>
<li><p>Support for precompiled <a href="PAR.html">PAR</a> binaries.</p>

</li>
<li><p>Deals with Win32 install issues for you.</p>

</li>
</ul>

<p>By greatly shrinking and simplifying the syntax, <b>Module::Install</b> keeps the amount of work required to maintain your <i>Makefile.PL</i> files to an absolute minimum.</p>

<p>And if you maintain more than one module than needs to do unusual installation tricks, you can create a specific module to abstract away this complexity.</p>

<h2 id="Module::Install-isn&#39;t-at-1.00-yet,-is-it-safe-to-use-yet?"><a id="Module17"></a><a id="Module::Install-isn-t-at-1.00-yet--is-it-safe-to-use-yet"></a>Module::Install isn&#39;t at 1.00 yet, is it safe to use yet?</h2>

<p>As long as you are going to periodically do incremental releases to get any bug fixes and new functionality, yes.</p>

<p>If you don&#39;t plan to do incremental releases, it might be a good idea to continue to wait for a while.</p>

<h1 id="COOKBOOK-/-EXAMPLES"><a id="COOKBOOK"></a><a id="COOKBOOK---EXAMPLES"></a>COOKBOOK / EXAMPLES</h1>

<p>The following are some real-life examples of <i>Makefile.PL</i> files using <b>Module::Install</b>.</p>

<h2 id="Method::Alias"><a id="Method"></a>Method::Alias</h2>

<p><a href="https://metacpan.org/pod/Method::Alias">Method::Alias</a> is a trivially-small utility module, with almost the smallest possible <i>Makefile.PL</i>.</p>

<pre><code>  use inc::Module::Install;

  name          &#39;Method-Alias&#39;;
  all_from      &#39;lib/Method/Alias.pm&#39;;
  test_requires &#39;Test::More&#39; =&gt; &#39;0.42&#39;;</code></pre>

<h2 id="File::HomeDir"><a id="File"></a>File::HomeDir</h2>

<p><a href="https://metacpan.org/pod/File::HomeDir">File::HomeDir</a> locates your home directory on any platform. It needs an installer that can handle different dependencies on different platforms.</p>

<pre><code>  use inc::Module::Install;

  name          &#39;File-HomeDir&#39;;
  all_from      &#39;lib/File/HomeDir.pm&#39;;
  requires      &#39;File::Spec&#39; =&gt; &#39;0.80&#39;;
  test_requires &#39;Test::More&#39; =&gt; &#39;0.47&#39;;

  if ( $MacPerl::Version ) {
      # Needed on legacy Mac OS 9
      requires &#39;Mac::Files&#39; =&gt; 0;
  }

  if ( $^O eq &#39;MXWin32&#39; ) {
      # Needed on Windows platforms
      requires &#39;Win32::TieRegistry&#39; =&gt; 0;
  }

  WriteAll;</code></pre>

<h1 id="TO-DO"><a id="TO"></a>TO DO</h1>

<p>Implement <a href="https://metacpan.org/pod/Module::Install::Compiled">Module::Install::Compiled</a> and Module::Install::Admin::Compiled to integrate the <a href="https://metacpan.org/pod/Module::Compiled">Module::Compiled</a> &quot;perl 6 to perl 5&quot; functionality with Module::Install. Because this would add SIGNIFICANT dependencies (i.e. pugs!) this should almost certainly be distributed as a separate distribution.</p>

<p>Go over POD docs in detail.</p>

<p>Test recursive Makefile directories</p>

<p>The test suite needs a great deal more test scripts.</p>

<p>Dependencies on shared libraries (libxml/libxml.dll etc) and binary files so that debian/Win32/etc autopackaging applications can create the appropriate package-level dependencies there.</p>

<p>EU::MM 6.06_03+ supports META.yml natively. Maybe probe for that?</p>

<h1 id="SEE-ALSO"><a id="SEE"></a>SEE ALSO</h1>

<p><a href="https://metacpan.org/pod/distribution/Module-Install/lib/Module/Install/Philosophy.pod">Module::Install::Philosophy</a></p>

<p><a href="https://metacpan.org/pod/inc::Module::Install">inc::Module::Install</a></p>

<p><a href="https://metacpan.org/pod/Module::Install::AutoInstall">Module::Install::AutoInstall</a></p>

<p><a href="https://metacpan.org/pod/Module::Install::Base">Module::Install::Base</a></p>

<p><a href="https://metacpan.org/pod/Module::Install::Bundle">Module::Install::Bundle</a></p>

<p><a href="https://metacpan.org/pod/Module::Install::MakeMaker">Module::Install::MakeMaker</a></p>

<p><a href="https://metacpan.org/pod/Module::Install::Share">Module::Install::Share</a></p>

<p><a href="https://metacpan.org/pod/Module::Install::Admin">Module::Install::Admin</a></p>

<p><a href="https://metacpan.org/pod/Module::Install::Admin::Include">Module::Install::Admin::Include</a></p>

<p><a href="https://metacpan.org/pod/Module::Install::Admin::Manifest">Module::Install::Admin::Manifest</a></p>

<p><a href="https://metacpan.org/pod/CPAN::MakeMaker">CPAN::MakeMaker</a>, <a href="https://metacpan.org/pod/Inline::MakeMaker">Inline::MakeMaker</a></p>

<p><a href="https://metacpan.org/pod/ExtUtils::MakeMaker">ExtUtils::MakeMaker</a></p>

<h1 id="SUPPORT">SUPPORT</h1>

<p>Bugs should be reported via the CPAN bug tracker at</p>

<p><a href="http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Module-Install">http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Module-Install</a></p>

<p>For other issues, contact the (topmost) author.</p>

<h1 id="AUTHORS">AUTHORS</h1>

<p>Adam Kennedy &lt;adamk@cpan.org&gt;</p>

<p>Audrey Tang &lt;autrijus@autrijus.org&gt;</p>

<p>Brian Ingerson &lt;ingy@cpan.org&gt;</p>

<h1 id="COPYRIGHT">COPYRIGHT</h1>

<p>Copyright 2002 - 2012 Brian Ingerson, Audrey Tang and Adam Kennedy.</p>

<p>This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.</p></div>

<div id="metacpan_install-instructions-dialog" class="modal fade">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4 class="modal-title">Module Install Instructions</h4>
      </div>
      <div class="modal-body">
        <p>To install Module::Install, copy and paste the appropriate command in to your terminal.</p>
        <p><a href="https://metacpan.org/dist/App-cpanminus/view/bin/cpanm">cpanm</a></p>
        <pre><code>cpanm Module::Install</code></pre>
        <p><a href="https://metacpan.org/pod/CPAN">CPAN shell</a></p>
        <pre><code>perl -MCPAN -e shell
install Module::Install</code></pre>
        <p>For more information on module installation, please visit <a href="https://www.cpan.org/modules/INSTALL.html">the detailed CPAN module installation guide</a>.</p>
      </div>
      <div class="modal-footer">
        <a href="./Module::Install.html#" data-dismiss="modal" class="btn">Close</a>
      </div>
    </div>
  </div>
</div>
          </main>
          <div class="content-pagination">
          </div>
        </div>
        <footer class="footer">
          <div class="footer-container">
            <div class="footer-social">
              <div class="footer-link footer-logo">
                <a href="https://metacpan.org/">
                  <img src="https://metacpan.org/static/images/metacpan-logo.svg" alt="MetaCPAN" />
                </a>
              </div>
              <a class="footer-social-link" href="https://github.com/metacpan">
                <i class="fab fa-github-square"></i>
              </a>
              <a class="footer-social-link" href="https://fosstodon.org/@metacpan">
                <i class="fab fa-mastodon"></i>
              </a>
            </div>
            <div class="footer-links">
              <div class="footer-link">
                  <a href="https://metacpan.org/about">About</a>
              </div>
              <div class="footer-link">
                  <a href="https://metacpan.org/about/sponsors">Sponsor</a>
              </div>
              <div class="footer-link">
                  <a href="https://grep.metacpan.org">grep::cpan</a>
              </div>
              <div class="footer-link">
                  <a href="https://metacpan.org/recent">Recent</a>
              </div>
              <div class="footer-link">
                  <a href="https://metacpan.org/about/faq">FAQ</a>
              </div>
              <div class="footer-link">
                  <a href="https://metacpan.org/tools">Tools</a>
              </div>
              <div class="footer-link">
                  <a href="https://fastapi.metacpan.org/">API</a>
              </div>
              <div class="footer-link">
                  <a href="https://www.perl.org/">Perl.org</a>
              </div>
            </div>
            <div class="footer-sponsors">
              <a class="footer-sponsor-link" target="_blank" href="https://www.bytemark.co.uk/" rel="noopener">
                <img class="footer-sponsor-bytemark" src="https://metacpan.org/static/images/sponsors/bytemark_logo.svg" alt="Bytemark logo">
              </a>
              <a class="footer-sponsor-link" target="_blank" href="https://www.liquidweb.com/" rel="noopener">
                <img class="footer-sponsor-liquidweb" src="https://metacpan.org/static/images/sponsors/liquidweb_logo.png" alt="liquidweb logo">
              </a>
              <a class="footer-sponsor-link" target="_blank" href="https://deriv.com/careers/" rel="noopener">
                <img class="footer-sponsor-deriv" src="https://metacpan.org/static/images/sponsors/deriv.svg" alt="Deriv logo">
              </a>
              <a class="footer-sponsor-link" target="_blank" href="https://geocode.xyz" rel="noopener">
                <img class="footer-sponsor-geocode" src="https://metacpan.org/static/images/sponsors/geocodelogo.svg" alt="Geocode logo">
              </a>
              <a class="footer-sponsor-link" target="_blank" href="https://www.fastly.com/" rel="noopener">
                <img class="footer-sponsor-fastly" src="https://metacpan.org/static/images/sponsors/fastly_logo.svg" alt="Fastly logo">
              </a>
              <a class="footer-sponsor-link" target="_blank" href="https://opencagedata.com" rel="noopener">
                <img class="footer-sponsor-opencage" src="https://metacpan.org/static/images/sponsors/open-cage.svg" alt="OpenCage logo">
              </a>
            </div>
          </div>
        </footer>
        <div class="modal fade" tabindex="-1" role="dialog" id="metacpan_keyboard-shortcuts">
          <div class="modal-dialog">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Keyboard Shortcuts</h4>
              </div>
              <div class="modal-body row">
<div class="col-md-6">
  <table class="table keyboard-shortcuts">
    <thead>
      <tr>
        <th></th>
        <th>Global</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td class="keys">
          <kbd>s</kbd>
        </td>
        <td>Focus search bar</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>?</kbd>
        </td>
        <td>Bring up this help dialog</td>
      </tr>
    </tbody>
  </table>

  <table class="table keyboard-shortcuts">
    <thead>
      <tr>
        <th></th>
        <th>GitHub</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>p</kbd>
        </td>
        <td>Go to pull requests</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>i</kbd>
        </td>
        <td>go to github issues (only if github is preferred repository)</td>
      </tr>
    </tbody>
  </table>
</div>

<div class="col-md-6">
  <table class="table keyboard-shortcuts">
    <thead>
      <tr>
        <th></th>
        <th>POD</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>a</kbd>
        </td>
        <td>Go to author</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>c</kbd>
        </td>
        <td>Go to changes</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>i</kbd>
        </td>
        <td>Go to issues</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>d</kbd>
        </td>
        <td>Go to dist</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>r</kbd>
        </td>
        <td>Go to repository/SCM</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>s</kbd>
        </td>
        <td>Go to source</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>b</kbd>
        </td>
        <td>Go to file browse</td>
      </tr>

    </tbody>
  </table>
</div>

<div class="col-md-12">
  <table class="table keyboard-shortcuts">
    <thead>
      <tr>
        <th></th>
        <th>Search terms</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><em>module:</em> (e.g. <a href="https://metacpan.org/search?q=module%3APlugin">module:Plugin</a>)</td>
      </tr>
      <tr>
        <td><em>distribution:</em> (e.g. <a href="https://metacpan.org/search?q=distribution%3ADancer+auth">distribution:Dancer auth</a>)</td>
      </tr>
      <tr>
        <td><em>author:</em> (e.g. <a href="https://metacpan.org/search?q=author%3ASONGMU+Redis">author:SONGMU Redis</a>)</td>
      </tr>
      <tr>
        <td><em>version:</em> (e.g. <a href="https://metacpan.org/search?q=version%3A1.00">version:1.00</a>)</td>
      </tr>
    </tbody>
  </table>
</div>
              </div>
              <div class="modal-footer"></div>
            </div>
          </div>
        </div>
    </body>
</html>
